赞
踩
用于全文检索的字段,例如电子邮件的正文或产品的描述。这些字段是analyzed,也就是说,它们通过分析器传递,以便 在被索引之前将字符串转换为单个术语的列表。通过分析过程,Elasticsearch可以在 每个全文字段中搜索单个单词。文本字段不用于排序,很少用于聚合
- PUT test-03
- {
- "mappings": {
- "properties": {
- "full_name": {
- "type": "text"
- }
- }
- }
- }
用于索引结构化内容(例如ID,电子邮件地址,主机名,状态代码,邮政编码或标签)的字段。
关键字字段只能按其精确值进行搜索。
- PUT test-03
- {
- "mappings": {
- "properties": {
- "tags": {
- "type": "keyword"
- }
- }
- }
- }
别名包括两种类型:
当使用ES时,可以创建别名来对索引进行分组、划分和隐藏。创建别名是一种将逻辑名称映射到一个或多个索引的方式,这使得在查询过程中能够快速地使用这些索引。
- POST _aliases
- {
- "actions": [
- {
- "add": {
- "index": "test-01",
- "alias": "test"
- }
- },
- {
- "add": {
- "index": "test-03",
- "alias": "test"
- }
- }
- ]
- }
-
- # 获取所有的别名列表
- GET _aliases
-
- # 获取test别名列表
- GET _alias/test
在Elasticsearch中,没有专用的array数据类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值都必须具有相同的数据类型.
- {
- "message": "some arrays in this document…",
- "tags": [
- "elasticsearch",
- "wow"
- ],
- "lists": [
- {
- "name": "knight",
- "description": "programming list"
- },
- {
- "name": "rose",
- "description": "cool stuff list"
- }
- ]
- }
该binary类型接受二进制值作为 Base64编码的字符串。该字段默认情况下不存储,并且不可搜索
- PUT test-03
- {
- "mappings": {
- "properties": {
- "tags": {
- "type": "text"
- },
- "blob":"binary"
- }
- }
- }
布尔字段接受JSON true和false值,但也可以接受解释为true或false的字符串
- PUT test-03
- {
- "mappings": {
- "properties": {
- "is_published": {
- "type": "boolean"
- }
- }
- }
- }
JSON没有日期数据类型,因此Elasticsearch中的日期可以是:
-
-
- PUT test-011
- {
- "mappings": {
- "properties": {
- "date":{
- "type": "date",
- "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
- }
- }
- }
- }
-
- PUT test-011/_doc/1
- { "date": "2024-01-01" }
-
- PUT test-011/_doc/2
- { "date": "2024-01-02" }
-
- GET test-011/_search
返回:
- {
- "took" : 558,
- "timed_out" : false,
- "_shards" : {
- "total" : 1,
- "successful" : 1,
- "skipped" : 0,
- "failed" : 0
- },
- "hits" : {
- "total" : {
- "value" : 2,
- "relation" : "eq"
- },
- "max_score" : 1.0,
- "hits" : [
- {
- "_index" : "test-011",
- "_type" : "_doc",
- "_id" : "1",
- "_score" : 1.0,
- "_source" : {
- "date" : "2024-01-01"
- }
- },
- {
- "_index" : "test-011",
- "_type" : "_doc",
- "_id" : "2",
- "_score" : 1.0,
- "_source" : {
- "date" : "2024-01-02"
- }
- }
- ]
- }
- }
- PUT test-012
- {
- "mappings": {
- "properties": {
- "location": {
- "type": "geo_point"
- }
- }
- }
- }
-
-
- ###
- PUT test-012/_doc/1
- {
- "text": "Geo-point as an object",
- "location": {
- "lat": 41.12,
- "lon": -71.34
- }
- }
的geo_shape数据类型方便的索引和与任意的地理搜索为矩形和多边形的形状,例如。当正在索引的数据或正在执行的查询包含除点以外的其他形状时,应使用它。
- PUT test-012
- {
- "mappings": {
- "properties": {
- "location": {
- "type": "geo_shape"
- }
- }
- }
- }
一个ip字段可以索引/存储IPv4或 IPv6地址
- PUT test-013
- {
- "mappings": {
- "properties": {
- "ip_addr": {
- "type": "ip"
- }
- }
- }
- }
-
- PUT test-013/_doc/1
- {
- "ip_addr": "192.168.1.1"
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。