Lucene 标准分析器按周期拆分
如何使 Lucene 的标准分析器对“.”进行标记化炭? 例如,在查询“B”时,我需要它返回“ABC”中的 B 作为结果。我需要按照标准分析器处理数字的方式来处理数字,因此简单分析器是不够的。 如果我可以指定标准分析器对“.”进行标记,那就完美了也是炭。如果我必须用这个小扩展编写自己的分词器,我会怎么做? 谢谢, 纳查
How do I make Lucene's Standard Analyzer tokenize on the'.' char?
For eg., on querying for "B" I need it to return the B in "A.B.C" as the result. I need to treat numbers the way the standard analyzer treats it, and hence the Simple analyzer is not sufficient.
It would be perfect if I could just specify to the standard Analyzer to tokenize on the'.' char too. If I had to write my own tokenizer with just this small extension, how would I go about it?
Thanks,
Nacha
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信最简单的方法是创建您自己的分析器。它将从 StandardAnalyzer 获取标记作为输入,并进一步在点上分割标记,保持无点标记完整。
包摘要给出了一些关于如何做到这一点的建议。
这篇博文似乎非常相关,但使用的是旧版本Lucene 的,所以你可能需要调整它。另请参阅 Lucene 常见问题解答。
I believe the easiest is to create your own Analyzer. which will get tokens from StandardAnalyzer as input and further split tokens on dots, keeping dotless tokens intact.
The package summary gives some advice on how to do this.
This blog post seems very relevant, but uses an old version of Lucene, so you will probably need to tweak it. Also, see the Lucene FAQ.