我一直在尝试创建一个匹配整个字段文本结尾的过滤器。例如,使用带有以下文本的文本字段:the brown fox jumped over the lazy dog
我希望它与查询以g结尾的字段匹配。类似于:
{
"search":"*",
"queryType":"full",
"searchMode": "any",
...
"filter":"search.ismatchscoring('/g$/','MyField')"
}
结果仅是MyField包含值的记录,这些值的值由字符串上任何位置的单个g字符组成的单词。
直接使用过滤器也不会产生任何结果:
{
"search":"*",
"queryType":"full",
"searchMode": "any",
...
"filter":"MyField eq '*g'"
}
据我所知,记号化将始终是搜索和过滤器的基础,这意味着在上面的查询中,$将被完全忽略,并且匹配项将按单词而不是字段进行。] >
可能我可以在此字段上使用keyword_v2
分析器,但随后我将失去正常搜索时使用的标记法。
我一直在尝试创建一个匹配整个字段文本结尾的过滤器。例如,以一个带有文本的文本字段为例:棕色的狐狸跳过了那只懒狗,我希望它与一个...
[一种可能的解决方案是在索引中定义第二个字段,其值与“ MyField”相同,但使用不同的分析器(例如keyword_v2
)。这样,您仍然可以搜索原始字段,同时过滤其他字段。