我正在使用sphinx并思考sphinx搜索客户数据库。客户元数据(电子邮件,电子邮件等)分布在多个表格中,狮身人面像索引客户等所有笔记等。我遇到的问题是我希望在搜索中首先显示带搜索词的START字段。即搜索“hods”应按顺序返回结果:
这意味着应优先考虑(大致按此顺序):
我试图通过复合搜索词实现这一目标(例如“^ hods | hods | hods * | * hods”)。
这样的事情可以确保我找到所有合适的结果 - 但似乎并没有影响他们的排名!我在文档中找不到任何有用的东西!!
有什么想法吗?这可能与Sphinx有关吗?有可能的任何其他搜索解决方案吗?
答案 0 :(得分:1)
Sphinx 1.10引入了新的ranking mode:SPH_RANK_SPH04
。
您可以使用thinking-sphinx
设置排名模式,但主页上没有记录。我现在不记得我是怎么做到的,但它与设置其他搜索参数非常相似。
答案 1 :(得分:0)
我从未使用过ThinkingSphinx,但我一直在Lucene / Solr使用boost query terms。在大多数搜索工具中应该有类似的机制。
答案 2 :(得分:0)
(e.g. "^hods | hods | hods* | *hods")
此查询不会对结果进行优先级排序。上面的查询只决定要获取的内容。
如果你必须优先考虑,你必须使用排名模式..或者可能排序模式。