Ruby on rails 思考Sphinx:仅查询模型索引中的特定字段

Ruby on rails 思考Sphinx:仅查询模型索引中的特定字段,ruby-on-rails,thinking-sphinx,Ruby On Rails,Thinking Sphinx,最近我问了很多斯芬克斯的问题。这里还有一个: 在我的一些搜索中,我只想查询索引定义中包含的部分字段。我似乎找不到任何关于这方面的信息,最近的一件事是将全局搜索限制在特定的模型上 所以。。是否可以只查询索引中给定的字段子集?不确定是否考虑Sphinx,但我知道如果通过SphinxQL直接点击Sphinx,则可以指定要匹配的字段 如果TS没有向您公开此功能,我会感到惊讶…我已经有一段时间没有使用TS了,但我记得您可以创建单独的索引,其中包括您在主索引上使用的字段子集。我认为Sphinx不能区分用于构

最近我问了很多斯芬克斯的问题。这里还有一个:

在我的一些搜索中,我只想查询索引定义中包含的部分字段。我似乎找不到任何关于这方面的信息,最近的一件事是将全局搜索限制在特定的模型上


所以。。是否可以只查询索引中给定的字段子集?

不确定是否考虑Sphinx,但我知道如果通过SphinxQL直接点击Sphinx,则可以指定要匹配的字段


如果TS没有向您公开此功能,我会感到惊讶…

我已经有一段时间没有使用TS了,但我记得您可以创建单独的索引,其中包括您在主索引上使用的字段子集。我认为Sphinx不能区分用于构建索引的字段,因为这就是为什么要使用全文搜索服务器——一次搜索多个字段上的内容


因此,只需检查如何使用其他字段构建新索引,以及如何使用此新索引而不是默认索引。

这可以通过Sphinx实现:

Model.search“@(名称、描述)ruby pancakes”,:match_mode=>:extended


其中name和description是您正在搜索的字段,“ruby pancakes”是搜索查询。

现在当Sphinx v3退出时,会显示默认情况下已打开扩展模式,因此您只需执行以下操作:

Model.search "@(name,description) ruby pancakes"