斯芬克斯的好搜索词

时间:2013-12-03 08:14:00

标签: ruby-on-rails sphinx thinking-sphinx

使用Rails 3.2,Sphinx搜索和思考Sphinx gem。我尝试在我的控制器中的关键字中包装%*以及通配符,但无法达到我想要的效果:

要搜索的关键字:

  • 世界贸易
  • 世贸
  • 世界贸易
  • 贸易世界
  • 传统世界

预期匹配的搜索结果:

  • 世界贸易中心

如何格式化控制器中的关键字,以便获得具有上述不同关键字的预期搜索结果?

1 个答案:

答案 0 :(得分:1)

  • 对于Sphinx,通配符是* - 所以没有必要使用%。
  • 如果您希望每个查询都添加通配符,请使用:star =>在您的Thinking Sphinx搜索电话中都是如此。
  • 如果您想匹配单词的部分内容,则需要启用min_prefix_len or min_infix_len。默认值为0(禁用),但根据您的示例,也许4是一个很好的设置?它越低,索引文件越大(因此搜索也可能变慢),所以除非你需要,否则不要将它设置为1。
  • 以上所有要点都不会与'worldtrade'匹配,因为你提供的是一个长单词,而不是两个单独的单词。你可以考虑在你的Sphinx配置中添加一个wordforms文件,但在这种情况下这可能有点过头了,因为你想要涵盖每个特定情况。