我正在使用弹性搜索来创建某种标记引擎。我正在插入一个文件,我无法检索它。我重现问题的步骤:
1)创建索引:
PUT index
{
"mappings": {
"taggeable" : {
"_all" : {"enabled" : false},
"properties" : {
"id" : {
"type" : "string",
"index" : "no"
},
"tags" : {
"type" : "text"
}
}
}
}
}
2)插入文件:
POST index/taggeable
{
"id" : "1",
"tags" : "tag1 tag2"
}
3)使用更多类似的查询:
GET index/_search
{
"query": {
"more_like_this" : {
"fields" : ["tags"],
"like" : ["tag1"],
"min_term_freq" : 1
}
}
}
但我收到了:
{
"_shards": {
"failed": 0,
"skipped": 0,
"successful": 5,
"total": 5
},
"hits": {
"hits": [],
"max_score": null,
"total": 0
},
"timed_out": false,
"took": 1
}
任何人都知道我做错了什么?我应该检索我插入的文件。
答案 0 :(得分:1)
您设置参数
min_term_freq
最低条款频率,低于该频率的条款将被忽略 输入文件。默认为2。
这是好的,否则它将被默认为2.还有一个参数
min_doc_freq
最低文档频率,低于该频率将忽略这些术语 来自输入文件。默认为5。
在您的情况下,如果您只有1个文档,则会忽略此文档,因此您需要添加更多文档,或者将参数min_doc_freq
指定为1