ElasticSearch—文档字段参数设置以及元字段
在Elasticsearch中,我们可以在创建索引映射时定义字段的属性,包括字段类型、分析器、是否存储等。同时,Elasticsearch 提供了一些特殊字段,称为元字段,这些字段是Elasticsearch内部使用的,用于控制文档的索引方式。
字段参数设置:
PUT /my_index
{
"mappings": {
"properties": {
"age": {
"type": "integer",
"index": false
},
"email": {
"type": "keyword",
"normalizer": "my_normalizer"
},
"content": {
"type": "text",
"analyzer": "english"
}
},
"normalizers": {
"my_normalizer": {
"type": "custom",
"char_filter": [],
"filter": ["lowercase", "asciifolding"]
}
}
}
}
在这个例子中,我们定义了一个名为my_index
的索引,并为它指定了一个映射。我们定义了三个字段:age
、email
和content
。我们设置age
字段的index
属性为false
,表示不需要索引这个字段。我们为email
字段指定了一个自定义的normalizer来进行规范化。对于content
字段,我们指定了一个英文分析器来分析文本。
元字段:
Elasticsearch 中的一些字段名称是保留的,这些被称为元字段。例如,_index
, _id
, _source
等。
POST /my_index/_doc/1
{
"title": "Some document",
"tags": ["Elasticsearch", "Elasticsearch Guide"]
}
GET /my_index/_search
{
"query": {
"match": {
"tags": "Elasticsearch"
}
}
}
在这个例子中,我们首先向my_index
索引中添加了一个文档,文档ID为1。然后我们执行了一个搜索,搜索tags
字段中包含"Elasticsearch"的文档。
以上就是Elasticsearch中字段参数设置以及元字段的简单介绍和使用。
评论已关闭