copy_to
如果经常需要查询多个字段,可以使用copy_to参数去复制多个字段的值到一个字段中,然后只需要查这个字段即可,可以提高搜索速度并简化搜索语句。
注:
- 字段的值将被复制,而不是分词
- 搜索结果显示中,_source字段将不会被修改,不会展示复制的值
- 相同的值可以复制到多个字段中。“copy_to”: [ “field_1”, “field_2” ]
- 不能通过中间字段递归的去复制。比如在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"
}
}
}
}