Я использую Elasticsearch6.8 и использую match_phrase_prefix
и wildcard
в запросе. Я нашел производительность это довольно плохо. Я думаю, что нужно вручную разбить текст на массив терминов.
Например, поле имеет текст типа ABCD
, вместо того, чтобы выполнять запрос префикса или подстановочный знак, я разбил текст на массив ["A", "AB", "ABC", "ABCD"]
во время построения индекса. Затем используйте match
запрос на поле. Поэтому, когда пользователи отправляют запрос, такой как AB
, он будет точно соответствовать. Это хорошее решение для этого? Как это влияет на скоринг?