【发布时间】:2018-09-22 19:24:45
【问题描述】:
我已经打开了“点击突出显示”,它对整个单词匹配都很有效。但是我们在用户指定的每个单词的末尾附加了一个通配符,并且突出显示不适用于部分匹配。我们正在返回结果,但 .Highlights 对象为空,因此部分匹配无法使用高亮显示。
下面是我们如何配置 SearchParameters:
var parameters = new SearchParameters
{
Filter = newFilter,
QueryType = QueryType.Full,
Top = recordsPerPage,
Skip = skip,
SearchMode = SearchMode.Any,
IncludeTotalResultCount = true,
HighlightFields = new List<string> { "RESULT" },
HighlightPreTag = "<font style=\"color:blue; background-color:yellow;\">",
HighlightPostTag = "</font>"
};
return parameters;
response = indexClient.Documents.Search<SearchResultReturn>(query, parameters);
这里是我们查询字符串的一个例子:("the") the*^99.95
我们的想法是搜索用户指定的确切字符串(多个单词),然后对指定的每个单词进行通配符搜索。
所以对于上面的例子,我们得到了所有包含“the”和“the*”的结果,但只有单词“the”有突出显示。即使“他们”是结果中唯一匹配的条目(“the”不在结果中),“他们”、“那里”等也没有任何突出显示。
再次查询返回正确的结果,只是突出显示不适用于部分匹配。
是否需要一些其他设置才能突出显示部分匹配项?
【问题讨论】:
标签: azure-cognitive-search hit-highlighting