为什么Zend Lucene没有找到结果,但Luke为同样的模糊查询做了

pbr*_*dka 2 php lucene zend-framework

我正在使用Zend Framework Lucene编写搜索引擎.我正在尝试进行模糊查询:"name:sxample~"当我把它放入Luke时 - 它发现了14个结果(全部带有"sample"字样).当我使用我的PHP代码 -

$query = 'name:sxample~';
        $query = Zend_Search_Lucene_Search_QueryParser::parse($query,'utf-8');

        try {
            $hits = $index->find($query);
        }
        catch (Zend_Search_Lucene_Exception $ex) {
            $hits = array();
        }
Run Code Online (Sandbox Code Playgroud)

- 命中数组为空.我猜索引是好的,而Luke和ZF使用相同的文件.我正在使用Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8作为我的分析器.你能告诉我我的php查询有什么问题吗?或者它可能是ZF bug?

问候

pbr*_*dka 8

经过研究,我发现要改变什么 - 如果拼写错误的字母在前3个字母中 - 那么就找不到了.我必须设置:

Zend_Search_Lucene_Search_Query_Fuzzy::setDefaultPrefixLength(1);
Run Code Online (Sandbox Code Playgroud)