Я пытался создать фильтр, соответствующий концу всего поля текста. Например, взяв текстовое поле с текстом: 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
в этом поле, но тогда я бы потерял токенизарион, который я использую при обычном поиске.