【发布时间】:2018-10-01 09:40:05
【问题描述】:
这个表达式写对了吗?因为我没有收到预期的所有结果:
(@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 文件:sphinx-dump
【问题讨论】:
标签: php full-text-search sphinx