使用Zend Lucene我无法在描述字段中搜索数字
像这样添加:
$doc->addField(Zend_Search_Lucene_Field::Text('description', $current_item['item_short_description'], 'utf-8'));
谷歌搜索显示应用以下代码应解决问题,但它没有...:
Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive());
任何想法?
答案 0 :(得分:8)
您必须设置默认分析器两次:在索引过程和搜索过程中。
使用上面的代码行:
Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive());
答案 1 :(得分:1)
您是否在调用Zend_Search_Lucene :: open()之前或之后使用该命令?
事先打电话肯定有效。
答案 2 :(得分:0)
我不确定'zend',但是为了处理lucene中的数字,你需要使用以下技巧:
将int放入文档使用以下内容:
document.Add(new Field(FIELD_SPEC,NumberTools.LongToString(YOUR_INT),Field.Store.YES,Field.Index.UN_TOKENIZED));
查找值使用术语:术语(FIELD_SPEC,NumberTools.LongToString(YOUR_INT))