2011-08-28 75 views
4

很多思考狮身人面像最近的问题。这里有另外一个:思维狮身人面像:只查询模型索引中的特定字段

在我的一些搜索中,我只想查询一些包含在我的索引定义中的字段。我似乎无法找到任何关于此的事情,最近的事情是限制全球搜索到特定的模型。

所以..有可能只查询索引中给定的字段子集?

回答

8

这是可能通过狮身人面像的extended match syntax

Model.search “@(名称,描述)红宝石煎饼”:match_mode =>:扩展

如果名称和说明是您要搜索的字段,'红宝石煎饼'是搜索查询。

+0

真棒。奇迹般有效。 – rogerkk

1

不知道思维狮身人面像,但我知道如果你通过SphinxQL直接打人狮身人面像比你可以指定你想匹配的字段。

我会感到惊讶,如果TS didnt公开此功能你...

1

我还没有与TS工作了一段时间,但我记得你可以创建单独的索引,包括您使用的字段集在你的主索引上。我不认为Sphinx会区分用于构建索引的字段,因为这就是您使用全文搜索服务器的原因 - 一次搜索多个字段的内容。

所以,只要检查如何建立与其他领域的新索引,以及如何使用这个新的索引,而不是默认。

3

现在,当狮身人面像V3是那样,documentation说,扩展模式是默认开启,所以你需要做的仅仅是这样的:

Model.search "@(name,description) ruby pancakes" 
相关问题