首页 > 解决方案 > Sphinx:sphinxql 中的 OR 运算符

问题描述

我的数据库中有一个日期字段(Start_date),它在 sphinx 中将其索引为 sql_field_string,其格式如下:2000-12-12。当我想在该字段上进行搜索时,我会提交如下查询:

select * from all where match ('@Start_date 2000-12-12'); 

并且它正在工作,但是在使用这样的 OR 运算符提交查询时遇到问题,它不会返回任何结果,而实际上有很多结果:

select * from all where match ('@Start_date 2000-12-12 | 1999-12-12');

当我使用括号作为值时,问题就解决了!

select * from all where match ('@Start_date (2000-12-12) | (1999-12-12)');

为什么会这样?

(我在我的 charset_table 中添加了“-”字符)。

来自 sphinx.conf 文件:

dict = crc
min_infix_length=3

标签: sphinxsphinxql

解决方案


推荐阅读