目标:执行模糊搜索,然后用那些相似的词进行通配符搜索
我现在有一个布尔查询,如下所示:
$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
我不确定模糊搜索是如何提供动力的。有没有办法修改我的查询,以便在模糊搜索返回相似词后可以进行通配符搜索?