2010-07-14 59 views

回答

0

是的。您的sphinx.yml中的enable_star: 1enable_star: true

3

enable_star选项允许前缀匹配('foo *')和中缀匹配('* foo *')。但是,它并不能让你在问题提出的时候把*放在单词的中间。最好的简单的解决方案,我可以建议所描述的情况是搜索两个词与“任意”匹配:

IndexedThingie.search('peo le', :match_mode => :any) 

如果你特别需要的一切“所有”的风格匹配,你应该看看表达式匹配语法在Sphinx手册中(http://sphinxsearch.com/docs/2.0.1/extended-syntax.html),如果您指定'扩展'匹配模式(请参阅TS匹配模式文档:http://freelancing-god.github.com/ts/en/searching.html#matchmodes),则可以使用该手册。这可能很复杂,但是通过对搜索输入的一些操作,您应该可以管理它。尤其要看'严格订单'操作符'< <'。

IndexedThingie.search('peo << le', :match_mode => :extended)