我正在使用两种不同的方法在索引中搜索,一种有效,一种无效(但应该来自阅读文档)。我想知道我的错误是什么。
这是我的第一种方法,效果很好:
$query = '+language:EN +country:US';
$hits = $index->find($query);
我尝试使用以下方法做同样的事情Zend_Search_Lucene_Index_Term
:
$query = new Zend_Search_Lucene_Search_Query_MultiTerm();
$query->addTerm(new Zend_Search_Lucene_Index_Term('EN', 'language'), true);
$query->addTerm(new Zend_Search_Lucene_Index_Term('US', 'country'), true);
$hits = $index->find($query);
这不会产生结果。删除该true
选项会将搜索转换为 OR 搜索(国家/地区=US OR 语言=EN)。
我基于http://framework.zend.com/manual/1.12/de/zend.search.lucene.query-api.html上的文档创建了第二种方法