1

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

4

3 回答 3

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]

于 2015-06-03T09:18:25.770 回答
0

以这种方式仅使用document.Get("field_name")和返回整个字段内容不是一种选择吗?无论如何,您可能已经在上下文中的某个地方记录了文档(因为您需要 doc id 到GetBestFragment()),那么为什么不直接使用它呢?

于 2010-07-09T11:36:50.887 回答
0

有一个声称可以做到这一点的 java FVH 补丁。我没有亲自测试过。

https://issues.apache.org/jira/browse/LUCENE-2464

于 2010-07-26T06:14:17.703 回答