2015-09-14 2 views
0

У меня есть следующая ситуация: мне нужно изменить свой запрос bool на фильтр, чтобы проверить, быстрее ли это.
Проблема заключается в том, что параметр minimum_should_match много, обычно с 1 или 0 в качестве значения. Фильтр Bool не поддерживает minimum_should_match, видимо - он дает мне nested: QueryParsingException[[index_name] [bool] filter does not support [minimum_should_match] ошибки. Итак, что мне делать? Есть ли обходные пути?
Мы используем Elasticsearch 1.7.1Elasticsearch bool filter и minimum_should_match опция

+0

Можете ли вы связать. doc, где говорится, что он не поддерживается? –

+0

@MarioTrucco моя ошибка - прочитайте его в https://www.manning.com/books/elasticsearch-in-action – chester89

+0

и там он с моего сервера - 'inested: QueryParsingException [ [index_name] [bool] фильтр не поддерживает [minimum_should_match] ' – chester89

ответ

1

В вашей обычной ситуации вам не нужен minimum_should_match.

Это может не ответить на ваш вопрос, так как это решение только для 0 и 1.

Я не знал, что он не поддерживается; однако обратите внимание, что для 1 и 0 вам не нужна опция, потому что 1 является значением по умолчанию, а 0 является недопустимым; он игнорируется, и это, как если бы оно не было 1. Из docs:

Независимо от того, какой номер расчет прибыл на, значение больше, чем число дополнительных положений, или значение меньше 1 никогда не будет используемый. (Т.е. независимо от того, как низко или как высоко результат результат вычисления, минимальное число требуемых соответствий никогда не будет ниже, чем 1 или больше, чем количество статей

+0

ok, так что мы можем безопасно обновлять до использования фильтров, я думаю. спасибо – chester89

+0

Да , после удаления бесполезного минимума_should_ma тч. Однако я бы поставил вопрос о том, что было ожидаемым поведением (особенно когда вы использовали 0) –

Смежные вопросы