ElasticSearch-列表元素中的模糊搜索

时间:2019-07-16 11:12:29

标签: elasticsearch

我有一些像这样存储在ElasticSearch中的文档:
    { "tag" : ["tag1", "tag2", "tag3"] ... }

我想搜索“标签”字段。我知道它应该与以下查询一起使用:
    { "query": { "match" : {"tag" : "tag1"} } }

但是,我不想使用匹配项,我想在列表中使用模糊搜索,例如:
     { "query": { "fuzzy" : {"tag" : "tagg1"} } }
问题是,上面的查询没有返回任何内容。我应该怎么用呢?

1 个答案:

答案 0 :(得分:0)

elasticsearch映射中的标记字段是什么类型?

我尝试使用以下类型的标记字段,而elastisearch版本是7.2

"tag" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }

为我工作得很好。

具有弹性模糊的查询将是:

{
  "query":
    {
        "fuzzy": {"tag" : "tagg1"}
    }
 }