ElasticSearch:copy_to与regexp正则匹配查询

copy_to

如果经常需要查询多个字段,可以使用copy_to参数去复制多个字段的值到一个字段中,然后只需要查这个字段即可,可以提高搜索速度并简化搜索语句。

注:

  1. 字段的值将被复制,而不是分词
  2. 搜索结果显示中,_source字段将不会被修改,不会展示复制的值
  3. 相同的值可以复制到多个字段中。“copy_to”: [ “field_1”, “field_2” ]
  4. 不能通过中间字段递归的去复制。比如在field_1上copy_to到field_2,再从field_2上copy_to到field_3,这样是不行的

regexp正则匹配查询

Regexp query将返回含有正则表达式匹配的分词的文档

举例

(1)返回user.id中包含有k开头,y结尾的分词,比如ky,kay, and kimchy.

GET /_search
{
  "query": {
    "regexp": {
      "user.id": {
        "value": "k.*y",
        "flags": "ALL",
        "case_insensitive": true,
        "max_determinized_states": 10000,
        "rewrite": "constant_score"
      }
    }
  }
}

(2)返回文档分词中以龙虎开头的文档

GET /index/_search
{
  "query": {
    "regexp": {
      "search": {
        "value": "龙虎.*",
        "flags": "ALL"
      }
    }
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值