所以我最近一直在使用Sphinx和一个rails项目,我想提供一个'将是'完全匹配的列表,它将与给定的术语匹配100%。例如:
+==================+==========================================================+
| ingredient | exact matches |
+==================+==========================================================+
| cheese, cream | 'cream cheese','philadephia cream cheese','cream chese',|
| | 'creamed cheese' |
+------------------+----------------------------------------------------------+
| Cheese, gruyere | 'gruyere','gruyer cheese','gruyeres cheese' |
| | 'gruyere chese' |
+------------------+----------------------------------------------------------+
| Cheese, blue | 'blue cheese','blu cheese' |
+------------------+----------------------------------------------------------+
所以基本上我正在寻找的功能是Sphinx会尝试在所有记录上进行典型的匹配,但是如果搜索项与该记录中数组中的一个字符串完全匹配,那么结果会有重量要高得多。 (如100x,那么它将是最佳匹配)
这可能吗?似乎其他人之前会遇到这个问题......不是吗?
更新
我认为最好的答案可能只是对exact matches
列进行索引,并对这些术语提供非常高的权重。
我不确定如何分解“数组”并查看搜索词是否完全匹配...
答案 0 :(得分:1)
您应该尝试使用狮身人面像搜索模式。查看匹配短语并匹配extended2。