【问题标题】:Elastic search not_analyzed fields弹性搜索 not_analyzed 字段
【发布时间】:2014-07-26 17:57:54
【问题描述】:

我的弹性搜索数据库中有一个 loginid 字段,其中包含用户电子邮件 ID。我想编写一个搜索查询来列出所有出现的特定邮件客户端(例如 gmail.com、yahoo.com 等)。

我已经成功编写了一个与电子邮件 ID 完全匹配的搜索查询

{
   "query": {
      "match": {
         "loginid": "dibeesh@amt.in"
      }
   }
}

通过执行上述查询,我​​将得到完全匹配。我的要求是匹配所有以“@amt.in”结尾的电子邮件 ID。 loginid 是我的弹性搜索数据库中的非分析字段,即

"loginid": {
  "type": "string",
   "index": "not_analyzed"
}

我也试过 parse_prefix 查询

{
   "query": {
      "match": {
         "loginid": {
            "query": "dibeesh@amt.in",
            "type": "phrase_prefix"
         }
      }
   }
}

但是没有运气得到我想要的结果。请帮我找到解决方案。谢谢你

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:
    {
        "regexp":{
            "loginid": "*@amt.in"
        }
    }
    

    使用弹性搜索正则表达式查询来实现这一点。

    【讨论】:

      猜你喜欢
      • 2014-12-09
      • 2015-01-28
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 2018-11-03
      相关资源
      最近更新 更多