我有一些像这样存储在ElasticSearch中的文档:
{
"tag" : ["tag1", "tag2", "tag3"]
...
}
我想搜索“标签”字段。我知道它应该与以下查询一起使用:
{
"query":
{
"match" : {"tag" : "tag1"}
}
}
但是,我不想使用匹配项,我想在列表中使用模糊搜索,例如:
{
"query":
{
"fuzzy" : {"tag" : "tagg1"}
}
}
问题是,上面的查询没有返回任何内容。我应该怎么用呢?
答案 0 :(得分:0)
elasticsearch映射中的标记字段是什么类型?
我尝试使用以下类型的标记字段,而elastisearch版本是7.2
"tag" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
为我工作得很好。
具有弹性模糊的查询将是:
{
"query":
{
"fuzzy": {"tag" : "tagg1"}
}
}