CRUD(Create, Retrieve, Update, Delete)是数据库系统的四种基本操作,分别表示创建、查询、更改、删除,俗称“增删改查”。Elasticsearch作为NoSQL数据库(虽然ES是为搜索引擎而生的,但我更愿意将其看作带有强大文本搜索功能的NoSQL)。

以下说明基于Elasticsearch 2.4版本。

Create

在默认情况下,ES的REST接口的端口号为9200,对接Java client的端口号为9300。

Create操作为向index中索引文档,若index不存在则ES会自动创建;

$ curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{<json data>}'

Java API("org.elasticsearch" % "elasticsearch" % "2.4.1")通过TransportClient与ES集群连接,CRUD操作便是基于此而实现的。

final Settings settings = Settings.settingsBuilder()
          .put("client.transport.sniff", true)
          .put("client.transport.ping_timeout", 20, TimeUnit.SECONDS)
          .put("client", true)
          .put("data", false)
          .put("cluste