Easysearch、Elasticsearch 还是 Opensearch,是个问题

elasticsearch 可以指定不参与搜索的字段么

Elasticsearch | 作者 S_Rainbow | 发布于2018年11月28日 | 阅读数:10952

就是索引映射很复杂,但有些字段是敏感信息,不想被搜索出来,elasticsearch可以控制搜索时不搜索这些字段么
已邀请:

rochy - rochy_he

赞同来自:

你可以使用 multiMatchQuery 指定查询的字段,貌似没有看到不搜索某些字段的 api
 
GET /_search
{
"query": {
"multi_match" : {
"query": "this is a test",
"fields": [ "subject", "message" ]
}
}
}

zz_hello

赞同来自:

如果你不想该字段被搜索,可以在mapping里面设置index为false。这样es不会在该字段上建立索引,在该字段上搜索就会报错。
PUT myindex/
{
"mappings": {
"mytype":{
"properties": {
"name":{
"type": "text",
"index": false
},
"title":{
"type": "text"
}
}
}

}
}

skymilong66

赞同来自:

=,= 有个蠢办法,修改他为keyword。。。

rochy - rochy_he

赞同来自:

可以通过通配符控制,设置 mapping 时,动态映射模板里面有个 match 部分,
这个是匹配字段名的,例如:"match": "*_ip"
然后对匹配到的字段你设置 copy_to 即可

要回复问题请先登录注册