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

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类型是完全匹配,没有分词。

猜你喜欢

转载自blog.csdn.net/liangmengbk/article/details/120339012
今日推荐