狮身人面像搜索完全匹配

时间:2016-03-21 07:37:13

标签: full-text-search sphinx

在SphinxSearch的索引中,我希望第一个位置与搜索阶段完全匹配。但是我在第6个位置得到了精确的数学。

例如:

SELECT id, WEIGHT()
FROM `products_elit_cs`
WHERE MATCH('BKR5EK') 
ORDER BY WEIGHT() DESC
OPTION ranker=sph04

返回[sphinxsearch结果]

id  weight()
199001  7528
279018  7528
385989  7528
4513542 7528
4759603 7528
58449   7527
297335  6528
4759601 6527
5030474 6527
341879  4527

但源数据是[mysql result]

id  active_number_cs
58449   BKR5EK
199001  BKR5EKU
279018  BKR5EKUP
297335  BKR5EKB-11
341879  V-23 BKR5EK
385989  BKR5EKC
4513542 BKR5EKUD
4759601 BKR5EKPB-13
4759603 BKR5EKUC
5030474 BKR5EKPB-11

注意,id为58449的记录就是精确的数学。

我们使用sphinxsearch的2.1.6版本。

1 个答案:

答案 0 :(得分:1)

我猜你有enable_star=0是吗? http://sphinxsearch.com/docs/archives/manual-2.1.6.html#conf-enable-star

会建议更改为enable_star=1,然后添加expand_keyword=1 http://sphinxsearch.com/docs/archives/manual-2.1.6.html#conf-expand-keywords

这应该允许您将完全匹配排名更高。可能需要尝试不同的排名表达式。 http://sphinxsearch.com/docs/archives/manual-2.1.6.html#weighting