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 查询
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 查询