在 RavenDB v4 中获取匹配的文本

Get the matched text in RavenDB v4

在 RavenDB < 4 中,您可以使用 FieldHighlightings class:

从 query/search 中获取匹配的 word/sentence
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 这个 class 似乎被删除了。如何获取在 query/lucene 搜索中匹配的文本,而不仅仅是找到它的文档?

即如果我们有文本 "This is a small test, they are going nowhere" 并使用通配符查询搜索 "th*",那么我会期望结果 "this" 和 "they" 以及它们在文本中出现的位置。

这不可能了吗?

目前在 v4.0 中不可能,但在 v4.1 中是可能的。

(计划几个月后发布)