当前位置:  开发笔记 > 编程语言 > 正文

MultiFieldQueryParser正在从首字母缩略词中删除点

如何解决《MultiFieldQueryParser正在从首字母缩略词中删除点》经验,为你挑选了1个好方法。

我再次发布此问题,因为我的查询没有得到解答.

我正在使用Lucene处理图书搜索API.用户可以搜索其标题或说明字段包含CFA的图书.我使用StandardAnalyzer以及停用词列表.

我使用MultiFieldQueryParser解析string.But解析后,删除字符串中的点.我在这里失踪了什么?

谢谢.



1> itsadok..:

正如你所提到的,这是这个问题的一个骗局.我建议你至少在你的问题中添加一个链接.此外,我建议您创建一个用户帐户,因为现在无法查看旧问题以获取上下文.

所述StandardAnalyzer专门处理首字母缩略词,并且转换CFA(例如),以CFA.这意味着您应该能够进行搜索,只要您确保使用相同的分析器进行索引和查询解析.

我建议你运行一些更基本的测试用例来消除其他因素.尝试使用普通用户QueryParser而不是多用户用户.

这是我写的一些代码StandardAnalyzer:

StringReader testReader = new StringReader("C.F.A. C.F.A word");
StandardAnalyzer analyzer = new StandardAnalyzer();
TokenStream tokenStream = analyzer.tokenStream("title", testReader);
System.out.println(tokenStream.next());
System.out.println(tokenStream.next());
System.out.println(tokenStream.next());

顺便说一句,这个输出是:

(cfa,0,6,type=)
(c.f.a,7,12,type=)
(word,13,17,type=)

请注意,例如,如果首字母缩略词不以点结尾,则分析器假定它是互联网主机名,因此搜索"CFA"将与文本中的"CFA"不匹配.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有