ElasticSearch搜索引擎(一:es安装及增删改)

ElasticSearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch

es是一个使用java编写的开源项目,所以需要jdk环境支持(且jdk版本须在1.8以上),安装方式简单粗暴,通过上方地址下载完压缩包后直接解压,进入bin目录执行elasticsearch.bat或elasticsearch.sh脚本即可运行搜索引擎。下面只是简单介绍下如何使用restful的API对文档进行增删改(es是面向文档编程)。

首先需要明白es的几个名词概念:

es的数据存储格式为_index/_type/_id,你可以理解为关系型数据库中的 _数据库/_表格/_主键,下面给出几个根据这个格式的增删改实例:

一 、指定主键插入数据:

PUT /{index}/{type}/{id}
{
  "name": "小红",
  "age":32,
  "address":"河北省邢台市xxx" 
}

使用restful请求中的put请求,请求搜索引擎地址,参数为json格式。一般本地es地址对外restful开放地址都是127.0.0.1:9200,那么插入的语句就是   127.0.0.1:9200/{index}/{type}/{id},大括号内的字段都是自定义的,es会根据你写的名字把数据放到指定index下的type下,并给这条数据的id标识为{id},如果id字段不填写的话es会给数据一条自增长id。插入成功后es会返回json字符串。

{
   "_index":    "website",
   "_type":     "blog",
   "_id":       "123",
   "_version":  1,
   "created":   true
}

二、根据id查询数据:

GET /{index}/{type}/{id}

第一步插入之后,根据插入时的字段使用get请求去es请求数据,路径可以写成127.0.0.1:9200/{index}/{type}/{id},可以看到查询出的数据就是第一步插入的数据

{
  "_index" :   "website",
  "_type" :    "blog",
  "_id" :      "123",
  "_version" : 1,
  "found" :    true,
  "_source" :  {
      "name": "小红",
      "age":32,
      "address":"河北省邢台市xxx" 
}
}

三、根据id更新字段:

es的更新和插入时的请求一模一样,同样使用put请求请求已存在的数据地址

PUT /{index}/{type}/{id}
{
  "name": "小黄",
  "age":33,
  "address":"河北省邢台市xxx" 
}

执行插入请求后返回json格式返回值

{
  "_index" :   "website",
  "_type" :    "blog",
  "_id" :      "123",
  "_version" : 2,
  "created":   false <1>
}

从响应中我们可以看到_version字段变为了2,created字段也变为了false,执行后再次查询这条数据,发现数据已修改完成。

四、根据id删除数据:

DELETE /{index}/{type}/{id}

使用restful中的delete请求请求同样的地址执行删除文档操作,执行成功后es返回json格式字符串

{
  "found" :    true,
  "_index" :   "website",
  "_type" :    "blog",
  "_id" :      "123",
  "_version" : 3
}

这样就表示数据删除成功,如果响应值中的found字段为false时,则表示指定id的数据没找到,再次执行第二步的查询请求你将会发现数据已经找不到了。

下一篇将会讲到es的全局查询和ik分词器的安装!!

猜你喜欢

转载自blog.csdn.net/W_DongQiang/article/details/86062477