从查询中提取术语以突出显示

时间:2010-12-21 10:52:37

标签: lucene lucene.net highlighting

我从查询对象中调用ExtractTerms()的查询中提取的术语是QueryParser.Parse()的结果。我得到一个HashTable,但每个项目都显示为:

Key - term:term
Value - term:term
  1. 为什么键和值相同?还有更多为什么术语价值重复并被冒号分隔?
  2. 荧光笔只插入标签还是做其他事情?我不仅要获取文本片段,还要突出显示源文本(它足够大)。我尝试通过手工插入标签来获取术语和偏移量。但我担心这是否是正确的解决方案。

2 个答案:

答案 0 :(得分:1)

我认为this question的答案可能会有所帮助。

答案 1 :(得分:0)

  1. 这是因为.Net 2.0与java HashSet没有相同之处。转换为.Net使用具有相同键值/值的Hashtables。您看到的冒号只是Term.ToString()的结果,Term是字段名称+术语文本,您的字段名称可能是“term”。

  2. 要使用Highlighter contrib突出显示整个文档,请使用NullFragmenter