gpt4 book ai didi

php - 在 Sphinx 中启用部分单词匹配?

转载 作者:可可西里 更新时间:2023-11-01 12:53:20 24 4
gpt4 key购买 nike

我是 Sphinx 的新手,正在尝试正确配置它。我想允许对所有搜索进行部分单词匹配,并且不希望用户必须自己输入通配符。

我希望搜索能够像在 Amazon 或 Google 上一样运行,如果您开始输入单词,就会出现建议。因此,例如,如果有人输入“x”,则应该出现“Xbox”之类的匹配项。

以下是我目前的索引设置:

min_word_len   = 1
min_prefix_len = 1
prefix_fields = name
charset_type = utf-8

在 PHP 方面,我正在使用 SPH_MATCH_EXTENDED2SPH_SORT_RELEVANCE。我将排名模式保留为默认值,不管它是什么。当我根据反复试验更改设置时,这些设置似乎提供了最佳搜索结果。

我在这里和其他网站上阅读过类似的问题,但答案似乎总是引用文档中说已弃用的 enable_star

所以我的问题是,如何在 Sphinx 中启用部分单词匹配?我是否应该简单地将 * 附加到用户查询中的每个单词,做这样的事情?

$search = str_replace(' ', '* ', trim($search)) + '*';

最佳答案

您可以将 expand_keywords = 1 设置为 described in the docs .

它实际上几乎只是自动为您添加星星 - 在某种程度上,通常完全匹配的排名会略高于纯“部分”匹配。

关于php - 在 Sphinx 中启用部分单词匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24388089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com