ElasticSearch将查询匹配到包含数字的字段

时间:2018-09-27 01:30:05

标签: elasticsearch

在我的数据中,我有一个字段name,其中包含这样的值

  • 1234_Customer xxx
  • 2345_Customer yyy
  • 5678_Customer zzz

当我尝试对文本进行匹配查询时,它会起作用

{
    "query": {
        "match": {
            "name": {
                "query": "customer",
                "operator": "and"
            }
        }
    }
}

但是当我试图找到前面使用的号码(这是一个客户ID)时,什么都没显示

{
    "query": {
        "match": {
            "name": {
                "query": "123",
                "operator": "and"
            }
        }
    }
}

在查询之前还有其他事情要做吗?还是我需要使用其他查询? 我认为这与模式有关,因为数字和第一个单词之间是_(下划线)?

谢谢

1 个答案:

答案 0 :(得分:0)

请尝试使用prefix query

{
    "query": {
        "prefix": {
            "name": "123"
        }
    }
}