有没有办法查询Zend_Search_Lucene
的索引以获得完全匹配?
$keyword = 'Summer 2009';
当我使用时:
$myIndex->find($keyword)
我还收到“2009年夏季,2009年夏季”?
答案 0 :(得分:0)
查询双引号字符串应该这样做:
$keyword = '"Summer 2009"';
答案 1 :(得分:0)
您的代码段将导致一个术语查询,其中Zend Search将生成一组令牌,这些令牌将针对所有索引字段进行尝试。这是因为如果将字符串传递给find(),则会将其传递给Query_Parser()。
您需要专门为此情况创建一个短语查询。
看起来像是:
$query = new Zend_Search_Lucene_Search_Query_Phrase(array('Summer', '2009'));
$index->find($query);
http://framework.zend.com/manual/en/zend.search.lucene.query-api.html包含更多信息。