【发布时间】:2014-04-20 17:42:57
【问题描述】:
目标:执行模糊搜索,然后用那些相似的词进行通配符搜索
我现在有一个布尔查询,如下所示:
$query = new Zend_Search_Lucene_Search_Query_Boolean();
$pattern = new Zend_Search_Lucene_Index_Term("*$string*");
$subquery1 = new Zend_Search_Lucene_Search_Query_Wildcard($pattern);
$term = new Zend_Search_Lucene_Index_Term("$string");
$subquery2 = new Zend_Search_Lucene_Search_Query_Fuzzy($term);
$query->addSubquery($subquery1, null /* optional */);
$query->addSubquery($subquery2, null /* optional */);
$hits = $index->find($query);
这似乎是在执行一个非此即彼的搜索。例如:如果我搜索术语
"berry"
我在标题中的任何地方都用“浆果”打了一切
berry, wild berry, strawberry, blueberry
但是如果我搜索
"bery"
我只打出类似的结果
berry
我不确定模糊搜索是如何提供动力的。有没有办法修改我的查询,以便在模糊搜索返回相似字词后进行通配符搜索?
【问题讨论】:
标签: php zend-framework search lucene zend-lucene