在 Zend Lucene 上使用不同的分析器
我正在尝试使用 Zend Lucene 创建索引。 在 Zend 的手册中(http://framework.zend.com/manual/en/zend.search.lucene.extending.html) 它描述了如何使用默认分析器:
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
new Zend_Search_Lucene_Analysis_Analyzer_Common_Text());
所以实际上这为所有字段设置了默认分析器。 问题是: 如果我有各种字段,有些字段包含 num+string 值,有些字段包含常规单词。 我可以为每个字段设置不同的分析器吗?
我发现在java的lucene中这是可能的 http://lucene.apache.org /java/3_0_1/api/core/org/apache/lucene/analysis/PerFieldAnalyzerWrapper.html
I'm trying to create an index using Zend Lucene.
In Zend's manual (http://framework.zend.com/manual/en/zend.search.lucene.extending.html)
it is described how to use a default analyzer:
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
new Zend_Search_Lucene_Analysis_Analyzer_Common_Text());
So actually this sets the default analyzer for all fields.
Question is:
If i have all kinds of fields, some hold num+string values, some holds regular words.
Can i set a different analyzer for each field?
I see it is possible in java's lucene
http://lucene.apache.org/java/3_0_1/api/core/org/apache/lucene/analysis/PerFieldAnalyzerWrapper.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
目前,Zend_Lucene 扩展无法实现这一点。
所有字段都将通过默认分析器传递。
您必须以某种方式扩展代码以指定每个字段使用哪个分析器,或者如果未指定则使用默认值。
This is currently not possible with the Zend_Lucene extension.
All the fields will be passed through the default analyzer.
You would have to extend the code somehow to specify which analyzer to use for each field or to use the default if none is specified.