gpt4 book ai didi

elasticsearch - Elasticsearch:more_like_this操作符不返回匹配

转载 作者:行者123 更新时间:2023-12-03 01:05:50 25 4
gpt4 key购买 nike

我试图根据一个字段(在本例中为“town”字段)在我的沙箱中通过 flex 搜索(在这种情况下,标识为'4'的文档)找到与一个文档相似的文档。
所以我写了这个查询,没有命中:

GET _search
{
"query": {
"more_like_this" : {
"fields" : ["town"],
"docs" : [
{
"_index" : "app",
"_type" : "house",
"_id" : "4"
}
],
"min_term_freq" : 1,
"max_query_terms" : 12
}
}
}

在我的数据集中,文档#4位于命名为“巴黎”的城镇中。因此,当我运行以下查询时,文档#4包含在匹配结果中,还有许多其他结果:
GET _search
{
"query": {
"match": { "town": "Paris" }
}
}

我不明白为什么“more_like_this”查询不返回结果,而其他文档中的字段具有相同的值。
我精确地说,我使用““match_all”:{}”查询来检查_index,_type和_id参数。

看起来像这个官方 flex 搜索资源的第二个示例: http://www.elastic.co/guide/en/elasticsearch/reference/1.5/query-dsl-mlt-query.html

我的“more_like_this”查询出了什么问题?

最佳答案

我假设您的文件数量较少。
在这种情况下,您可以将min_doc_freq设置为0并重试。
同时使用POST进行搜索-

POST _search
{
"query": {
"more_like_this" : {
"fields" : ["town"],
"docs" : [
{
"_index" : "app",
"_type" : "house",
"_id" : "4"
}
],
"min_term_freq" : 1,
"max_query_terms" : 12,
"min_doc_freq" : 1
}
}
}

关于elasticsearch - Elasticsearch:more_like_this操作符不返回匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29635329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com