我是Sphinx的新手,我正在尝试正确配置它.我希望允许所有搜索的部分单词匹配,并且不希望用户必须自己键入通配符.
我希望搜索在亚马逊或谷歌上运行,如果你开始输入一个单词,建议就会出现.因此,例如,如果有人输入"x",那么应该出现类似"Xbox"的匹配项.
以下是我目前拥有的索引设置:
min_word_len = 1
min_prefix_len = 1
prefix_fields = name
charset_type = utf-8
Run Code Online (Sandbox Code Playgroud)
在PHP方面,我正在使用SPH_MATCH_EXTENDED2和SPH_SORT_RELEVANCE.无论是什么,我都将排名模式保留为默认模式.当我根据反复试验更改设置时,这些设置似乎提供了最佳搜索结果.
我在这里和其他网站上已经阅读了类似的问题,但答案似乎总是引用enable_star文档所说的不推荐使用的内容.
所以我的问题是,如何在Sphinx中启用部分单词匹配?我应该简单地附加*到用户查询中的每个单词,做这样的事情吗?
$search = str_replace(' ', '* ', trim($search)) + '*';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3348 次 |
| 最近记录: |