Zend Lucene行为不端:查询一个接一个地工作但不在一起

时间:2009-10-02 10:18:20

标签: zend-framework zend-search-lucene

好的,所以这就是交易:Lucene给我做了一些奇怪的事情。一切都正确索引,一切正常,一切都很快等等。

所以我用英语搜索一个类别。数以百计的结果出现了。

所以我用英语搜索一个国家。突然出现了数百个结果。

所以我用英语搜索一个类别和一个国家。我知道的组合是有效的。我得到杰克。没有。 Zip ....为什么?

Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive());
$index = Library_Search_Lucene::open(SearchIndexer::getIndexDirectory());     

$query = new Zend_Search_Lucene_Search_Query_Boolean();

$queryString = new Zend_Search_Lucene_Search_Query_MultiTerm();
$queryString->addTerm(new Zend_Search_Lucene_Index_Term('lang' . $language, 'langSite'));
$query->addSubquery($queryString, true);

if (isset($idCategory)) {
$queryCategory = new Zend_Search_Lucene_Search_Query_MultiTerm();
$queryCategory->addTerm(new Zend_Search_Lucene_Index_Term($idCategory, 'idCategory'));
$query->addSubquery($queryCategory, true);
}

if (isset($country)) {
$queryLocation = new Zend_Search_Lucene_Search_Query_MultiTerm();
$queryLocation->addTerm(new Zend_Search_Lucene_Index_Term($country, 'locationsClean'));
$query->addSubquery($queryLocation, true);
}

 $hits = $index->find($query);

$ query-> getQueryTerms()返回有效的术语数组。没有错误。我到底做错了什么?

1 个答案:

答案 0 :(得分:0)

我们有完全相同的问题。在bugtracker中注明,该bugtracker当前处于脱机状态,但可以在http://www.zendframework.com/issues找到。 也许它会被修复,但即便如此,它也会非常缓慢。