ElasticSearch more_like_this - параметры запускаются в исходном или целевом индексе? - PullRequest
0 голосов
/ 12 марта 2020

Полезной особенностью функции more_like_this является то, что ES - это возможность перекрестного поиска различных индексов, при условии, что имена полей и отображения соответствуют.

Одна вещь, которая меня смущает, - это то, как параметры выбора термина применяются в этих ситуациях.

Рассмотрим:

max_doc_freq

Максимальная частота документа, выше которой термины будут игнорироваться во входном документе. Это может быть полезно для игнорирования очень часто встречающихся слов, таких как стоп-слова. По умолчанию он не ограничен (Integer.MAX_VALUE, то есть 2 ^ 31-1 или 2147483647).

Это частота документа в индексе исходного документа? Или он будет применен к индексу, который мы запрашиваем?

Пример:

GET index_a/_search
{
  "query": {
    "function_score": {
      "query": {
        "bool": {
          "should": [
            {
              "more_like_this": {
                "boost": 1,
                "fields": [
                  "text"
                ],
                "include": true,
                "like": [
                  {
                    "_id": "tI2N_24BFVRF37fDxSTT",
                    "_index": "index_b"
                  }
                ],
                "max_doc_freq": 50000,
                "max_query_terms": 50,
                "min_term_freq": 1,
                "min_word_length": 4,
                "minimum_should_match": "1%",
                "stop_words": []
              }
            }
          ]
        }
      },
      "script_score": {
        "script": "1.0"
      }
    }
  }
}

max do c freq в этом случае установлен на 50 000. Но это на index_a? или index_b?

1 Ответ

0 голосов
/ 12 марта 2020

То, что рассматривается в переписать фразу запроса. так что index_b. Фаза перезаписи перезаписывает MLT в запрос bool

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...