在 RavenDB < 4 中,您可以使用 FieldHighlightings 类从查询/搜索中获取匹配的单词/句子:
FieldHighlightings highlight = null;
hits = session
.Advanced
.DocumentQuery<FAOCRPage>("Standard/Lucene")
.Statistics(out stats)
**.Highlight(x => x.OCR, 50, 5, out highlight)**
.SetHighlighterTags("**", "**")
.Skip(pageNum*pageSize)
.Take(pageSize)
.Search(x => x.OCR, queryStr, escapeQueryOptions: EscapeQueryOptions.RawQuery)
.ToList();
string[] fragments = highlight.GetFragments(hits[0].Id)
并迭代高亮变量以获取匹配文本。我的 RavenDB v4 这个类好像被去掉了。如何获取在查询/lucene 搜索中匹配的文本,而不仅仅是在其中找到它的文档?
即,如果我们有文本“这是一个小测试,它们将无处可去”并使用通配符查询“th*”进行搜索,那么我会期望结果“this”和“they”以及它们在文本中出现的位置。
这不再可能了吗?