ElasticSearch学习总结6(ES数据类型)

本文详细讲解了Elasticsearch中text和keyword字段类型的差异,包括自动分词、索引生成与精确匹配。通过实例演示了如何创建索引、插入数据和执行查询,展示了text的分词特性与keyword的全匹配功能。
摘要由CSDN通过智能技术生成

es的字段类型: 

keyword:存储数据时,不会分词建立索引;

text:存储数据时,会自动分词,并生成索引;

下面创建一个名词为testindex的索引库,并添加四个字段,分别指定不同的字段类型。

PUT /testindex
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "age":{
        "type": "long"
      },
      "actiontime":{
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss"
      },
      "describe":{
        "type": "keyword"
      }
    }
  }
}

执行结果:

 查询下刚才创建的索引库信息。

 

插入一条记录:

PUT /testindex/_doc/1
{
  "name":"张三",
  "age":30,
  "actiontime":"2021-09-16 22:30:45",
  "describe":"描述信息"
}

执行结果: 

查询下刚才插入的记录:

如果设置了字段的类型,那么在插入记录时就要按照字段格式插入,不然会报错,如下所示,日期格式的字段,插入数字类型就会报错:

 

 往索引库中加几条记录,用于查询。

查询name中含有"张"的信息: 

可以看到name中含有“张”的记录都被查询出来了,说明name字段是做了分词的,同时也证明text类型是会自动分词的。
 

下面再查询下describe字段,查询describe中含有“描述”二字的记录:

 没有查询到记录,再查询下describe为“描述信息”的记录:

发现有一条记录被查询出来,这也说明了keyword类型是完全匹配,没有分词。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值