Php Sphinx-将OR运算符与字段开始/结束修改器组合

Php Sphinx-将OR运算符与字段开始/结束修改器组合,php,full-text-search,sphinx,Php,Full Text Search,Sphinx,这个表达式写对了吗?因为我没有收到预期的所有结果: (@nationality_code ("^MD$" | "^GB$" | "^IT$")) 我应该让所有用户的国籍代码等于'MD'或'GB'或'IT' 应该与mysql中的查询类似: SELECT * FROM users WHERE nationality_code IN ('MD', 'GB', 'IT') 更新 如果我只搜索MD和GB,我会收到正确的结果: 我执行的查询如下: SELECT id, nationality_code

这个表达式写对了吗?因为我没有收到预期的所有结果:

(@nationality_code ("^MD$" | "^GB$" | "^IT$"))
我应该让所有用户的国籍代码等于'MD'或'GB'或'IT'

应该与mysql中的查询类似:

SELECT * FROM users WHERE nationality_code IN ('MD', 'GB', 'IT')
更新 如果我只搜索MD和GB,我会收到正确的结果:

我执行的查询如下:

SELECT id, nationality_code 
FROM jobs_applied_main 
WHERE MATCH('(@nationality_code ("^MD$" | "^GB$"))') AND job_id = '6257' 
LIMIT 0, 999;

但是,如果我同时添加“^IT$”,我将不再获得具有“MD”国籍的用户

如果删除“开始/结束”修改器,我会收到预期的结果,为什么会出现这种行为

更新
因此,这里是我的索引转储和sphinx.conf文件:

是。这个表达是正确的。这对我来说很好:

[snikolaev@dev01 ~]$ mysql -P9314 -h0
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 2.7.1 668faae@180620 dev

Copyright (c) 2009-2017 Percona LLC and/or its affiliates
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select * from idx_min where match('(@nationality_code ("^MD$" | "^GB$" | "^IT$"))');
+------+------------------+------+
| id   | nationality_code | a    |
+------+------------------+------+
|    1 | MD               |  123 |
|    2 | GB               |  123 |
+------+------------------+------+
2 rows in set (0.00 sec)

确保你的索引中只有MD/GB/IT,之前/之后没有任何内容,并且没有min_word len<2。

Sphinx 3.0.3版本存在问题,因为Sphinx 2.2.11可以正常工作

谢谢,问题是我有min_word len<2。我的实际配置如下:
min\u word\u len=1 min\u infix\u len=2 min\u prefix\u len=1 expand\u keywords=1
那么什么是正确的配置?@Mintendo抱歉,我的意思是你没有min\u word\u len>2(不是<2)。在你的情况下,如果你有min_word_len=2,它应该可以正常工作。我刚刚再次检查了min_word_len=2、min_prefix_len=1和expand_keywords=1,效果很好。你的狮身人面像版本是什么?您能提供完整的配置并使用--dump行运行索引并提供文件(或其中的一部分)吗?好的,我添加问题的更新,您能检查上面的内容吗?无论如何,我的狮身人面像版本是3.0.3-dev@Mintendo在3.0.3中仍然适用于我。如果您提供配置以及如何复制索引(--dump行或仅仅是索引文件),会更容易。好的,我在WetTransfer中上传了sphinx.conf,并提供了上面的链接