0

データベースに日付フィールド (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
4

0 に答える 0