我已经打开了 Hit Highlighting,它对整个单词匹配都很有效。但是我们在用户指定的每个单词的末尾附加了一个通配符,并且突出显示不适用于部分匹配。我们正在返回结果,但 .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”不在结果中),“他们”、“那里”等也没有任何突出显示。
查询再次返回正确的结果,只是突出显示不适用于部分匹配。
我是否需要其他一些设置才能突出显示部分匹配?