繁体   English   中英

Django / Sphinx:如何查询多个模型?

[英]Django / Sphinx: How to query on multiple models?

我希望能够一次查询不同的模型并获得全文搜索的聚合结果。 即书籍和作者作为一个列表,例如按相关性排序。

据我了解,在文档中它提到这是可能的,但有一个巨大的限制:

... The django-sphinx layer also supports some basic querying over multiple 
indexes ... Your indexes must contain exactly the same fields. These fields 
must also include a content_type selection which should be the content_type 
id associated with that table (model) ...

这是否意味着模型应该具有完全相同的字段,或者如果只有索引中的字段是通用的就足够了? 这仍然是一个巨大的限制。 当可以从类本身获取时,为什么模型应该包含 content_type 属性?

如果给不同型号的索引指定相同的索引名称怎么办? 是否可以搜索该索引并获得来自不同模型的结果?

同样在文档中,它说需要按如下方式配置 sphinx 以在多个模型上进行搜索:

model_classes = (ModelOne, ModelTwoWhichResemblesModelOne)
output = generate_config_for_models(model_classes)

有没有人有这方面的经验?

模型必须在索引中通用(您可以添加假列)。 它们必须包含 content_type,因此当您获得结果时,您就知道结果所属的模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM