【发布时间】:2012-09-21 01:52:23
【问题描述】:
在我看来 Zend Search Lucene 默认是区分大小写的搜索。有没有办法改变这种情况,使所有查询都不区分大小写?
【问题讨论】:
标签: php zend-framework lucene
在我看来 Zend Search Lucene 默认是区分大小写的搜索。有没有办法改变这种情况,使所有查询都不区分大小写?
【问题讨论】:
标签: php zend-framework lucene
Zend Search Lucene 应该默认不区分大小写(来自文档):
您可以指定自己的文本分析器或从一组 预定义分析器:
Zend_Search_Lucene_Analysis_Analyzer_Common_Text和Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive(默认)。它们都将标记解释为字母序列。Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive将所有标记转换为小写。
你可能有
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
new Zend_Search_Lucene_Analysis_Analyzer_Common_Text()
);
设置某处,将其切换为区分大小写。您可以尝试查找并删除它,或switch analyzers。
【讨论】:
Zend_Search_Lucene_Analysis_Analyzer::getDefault() 输出了默认分析器,我得到了这个Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive Object ( [_position:Zend_Search_Lucene_Analysis_Analyzer_Common_Text:private] => [_filters:Zend_Search_Lucene_Analysis_Analyzer_Common:private] => Array ( [0] => Zend_Search_Lucene_Analysis_TokenFilter_LowerCase Object ( ) ) [_input:protected] => [_encoding:protected] => ) 似乎默认为小写