php - 仅使用 Sphinx 搜索引擎 (API-PHP) 进行通配符匹配和邻近度精确匹配

标签 php mysql wildcard sphinx

我在正确配置 Sphinx 时遇到了这个巨大的问题,我有一个名称、标签和 cat_tags 的索引。我想返回扩展匹配,例如

如果我输入“eng”,我应该收到与“eng”匹配的所有记录,因此: engine、english、boateng(对于任何索引字段)将包含在查询结果中。我应该如何配置我的索引和 PHP-API 才能获得所需的结果?另外,确切的查询应该如何显示,将 $phrase 视为我们正在寻找的短语(一个或多个单词,我们需要所有完美匹配以及可能的匹配 - 就像搜索提示会给我们带来的一样)。

最佳答案

默认情况下,sphinx 按照 charset_table 索引整个单词。

要匹配部分单词,请查看min_infix_len http://sphinxsearch.com/docs/current.html#conf-min-infix-len

扩展关键字一起启用 http://sphinxsearch.com/docs/current.html#conf-expand-keywords

关于php - 仅使用 Sphinx 搜索引擎 (API-PHP) 进行通配符匹配和邻近度精确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26760283/

相关文章:

javascript - 用于数组搜索的正则表达式通配符

php - 如何在此准备好的语句中使用通配符?

PHP RegEx - 获取所有数字

javascript - WooCommerce 单个产品图像悬停缩放闪烁

php - 从 php 文件动态加载 css 内容

MYSQL查询 "row-subrows"排序选择

mysql - 按……数字订购?帮我排序ip地址

MySQL - 父+子类别总数

linux - 在 tox 命令中使用通配符

php - 使用 PHP 从 MySQL 数据库获取单个值