Ответ 1
Причина, по которой ваш запрос не работает, объясняется тем, как CloudSearch возникает. Если ваше поле проиндексировано с помощью схемы анализа, установленной на English
, тогда wars
будет сохранен в его исходной форме как war
.
Вот небольшая демонстрация того, как последствия влияют на ваш запрос.
Поиск с запросом un-stemmed ('ster wers'):
Для поиска с помощью запроса без привязки требуется соответствие wers
to war
, которое отключено на 2 символа и требует запроса: q=ster~1+wers~2
.
Поиск с помощью запрошенного запроса ('ster wer'):
Поиск с помощью версии с стежком означает, что вы сопоставляете wer
с war
, и вы отключены только на 1 char. Таким образом, ster~1 wer~1
получит желаемый результат (т.е. Соответствует star wars
).
Как исправить:
Используемый вами вариант использования будет работать, если вы сконфигурируете Схему анализа для рассматриваемого поля, чтобы не использовать какие-либо операции.
-
Чтобы сделать это, войдите в веб-консоль AWS и перейдите на Схемы анализа → Добавить схему анализа:
-
Затем перейдите к параметрам индексирования и настройте свое поле, чтобы использовать новую схему анализа без вывода:
-
Представьте свои изменения и переиндексируйте.
Это поможет решить вашу проблему, но, конечно же, вы потеряете все преимущества. Вы не можете иметь свой торт и съесть его тоже.