我是新的Zend Framework 2和ZendSearch Lucene。 我的數據庫表有三列整數,第一列是id。 第二個是發佈值(1到3),第三個是類別值(1到5)。 該表看起來像這樣:ZendSearch Lucene的布爾查詢不正確的工作與數字
| id | publish | category |
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
| 4 | 2 | 3 |
| 5 | 2 | 4 |
我用以下查詢測試了這個:
「publish:1」返回正確的id爲1,2,3;
「發佈:2」返回正確的id 4,5;
「發佈:3」返回不正確的id 1,2,3,4,5;結果應該是空的。
「發佈:1 AND分類:1」返回正確的ID 1;
「發佈:1和類別:3」返回正確的ID 3;
「發佈:1和類別:4」返回正確的空結果;
「發佈:1和類別:5」返回不正確的id 1,2,3;結果應該是空的。
當一個數字不存在時,結果不是空的,它包含所有的行。 有沒有任何選項,當數字不存在時結果爲空?
默認編碼是UTF-8: \ ZendSearch \ Lucene \ Search \ QueryParser :: setDefaultEncoding('UTF-8'); ZendSearch \ Lucene \ Analysis \ Analyzer \ Analyzer :: setDefault(new \ ZendSearch \ Lucene \ Analysis \ Analyzer \ Common \ Utf8Num \ CaseInsensitive());
該id是未索引的,發佈和類別是關鍵字。