Java Lucene高亮显示:高亮显示标记部分
你好 主要问题如下:我是否正确理解Lucene只能突出显示令牌流中的完整令牌 事实上,我陷入了以下情况:Java Lucene高亮显示:高亮显示标记部分,java,lucene,Java,Lucene,你好 主要问题如下:我是否正确理解Lucene只能突出显示令牌流中的完整令牌 事实上,我陷入了以下情况: 有一个文档保留了一些标识符字段,让它成为“IMEI”(15位数字)。 “IMEI”不需要分散到单独的令牌,所以我在索引时使用KeywordAnalyzer 用户可以通过提供“IMEI”的一部分来搜索文档。好的,它也是可以解决的,只需将用户字符串包装为前缀或通配符查询,然后进行搜索 现在我只需要突出显示“IMEI”的那些部分,它对应于用户输入的请求。在这里我结巴了。 如果document.IM
String imei = "1234567890";
KeywordAnalyzer analyzer = new KeywordAnalyzer();
Query query = new WildcardQuery(new Term("IMEI", "*2345*"));
QueryScorer scorer = new QueryScorer(query);
Fragmenter fragmenter = new SimpleSpanFragmenter(scorer);
Formatter formatter = new SimpleHTMLFormatter("<b>", "</b>");
Highlighter highlighter = new Highlighter(formatter, scorer);
System.out.println(highlighter.getBestFragment(analyzer, "IMEI", imei));
String imei=“1234567890”;
KeywordAnalyzer analyzer=新的KeywordAnalyzer();
查询查询=新的通配符查询(新术语(“IMEI”,“2345*”);
QueryScorer scorer=新的QueryScorer(查询);
Fragmenter Fragmenter=新的SimplePanFragmenter(记分器);
格式化程序格式化程序=新的SimpleHTMLFormatter(“,”);
Highlighter Highlighter=新的Highlighter(格式化程序、记分器);
System.out.println(highlighter.getBestFragment(分析器,“IMEI”,IMEI));
通过编写我自己的格式化程序实现解决了这个问题。你能分享一下吗?