ElasticSearch more_like_this - 选项 运行 是在源索引还是目标索引上?

ElasticSearch more_like_this - Are options ran on the source or destination index?

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"
      }
    }
  }
}

本例中的最大文档频率设置为 50,000。但这是在 index_a 上吗?或 index_b?

rewrite phrase of query. so index_b . Rewrite phase rewrites MLT 中考虑到 bool 查询