【发布时间】:2015-01-13 08:13:26
【问题描述】:
我是 Zend Framework 2 和 ZendSearch Lucene 的新手。 我的数据库表有三列整数,第一列是 id。 第二个是发布值(1 到 3),第三个是类别值(1 到 5)。 表格如下所示:
|id|发布|类别|
|1|1|1|
|2|1|2|
|3|1|3|
|4|2|3|
|5|2|4|
我使用以下查询对此进行了测试:
"publish:1" 返回正确的 id 的 1,2,3;
"publish:2" 返回正确 id 的 4,5;
"publish:3" 返回不正确的 id 的 1,2,3,4,5;结果应该为空。
"publish:1 AND category:1" 返回正确的 id 1;
"publish:1 AND category:3" 返回正确的 id 3;
"publish:1 AND category:4" 返回正确的空结果;
"publish:1 AND category: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 是未索引的,publish 和 category 是关键字。
【问题讨论】:
标签: php mysql lucene zend-framework2 zend-search-lucene