从FastVectorHighlighter中的GetBestFragment返回整个字段

时间:2010-05-11 05:33:53

标签: lucene lucene.net highlighter.net fast-vector-highlighter

在Highlighter.Net中,我们可以使用NullFragmenter返回整个字段内容。我们有什么方法可以在FastVectorHighlighter.Net中做到这一点吗?

3 个答案:

答案 0 :(得分:2)

如果对 FastVectorHighlighter 使用 SimpleFragListBuilder -fragmenter,则需要修改fragmenter的公共静态属性以管理片段大小:

var fieldContent = "some data";

SimpleFragListBuilder.MARGIN = fieldContent.Length;
SimpleFragListBuilder.MIN_FRAG_CHAR_SIZE = SimpleFragListBuilder.MARGIN*3;

var result = highlighter.GetBestFragment(.., fragCharSize: SimpleFragListBuilder.MIN_FRAG_CHAR_SIZE);

(详见资料来源 - 'Lucene.Net 3.0.3 SimpleFragListBuilder.cs' [http://lucenenet.apache.org/docs/3.0.3/dd/d38/_simple_frag_list_builder_8cs_source.html]

答案 1 :(得分:0)

使用document.Get("field_name")并以这种方式返回整个字段内容不是一个选项吗?你可能还是在上下文中的某个地方记录了文件(因为你需要doc GetBestFragment()),为什么不使用呢?

答案 2 :(得分:0)