2

在 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”以及它们在文本中出现的位置。

这不再可能了吗?

4

1 回答 1

1

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

(计划在几个月内发布)。

于 2018-04-26T08:01:57.130 回答