CRUD(Create, Retrieve, Update, Delete)是數(shù)據(jù)庫(kù)系統(tǒng)的四種基本操作,分別表示創(chuàng)建、查詢(xún)、更改、刪除,俗稱(chēng)“增刪改查”。Elasticsearch作為NoSQL數(shù)據(jù)庫(kù)(雖然ES是為搜索引擎而生的,但我更愿意將其看作帶有強(qiáng)大文本搜索功能的NoSQL)。
以下說(shuō)明基于Elasticsearch 2.4版本。
Create
在默認(rèn)情況下,ES的REST接口的端口號(hào)為9200,對(duì)接Java client的端口號(hào)為9300。
Create操作為向index中索引文檔,若index不存在則ES會(huì)自動(dòng)創(chuàng)建;
$ curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{<json data>}'
Java API("org.elasticsearch" % "elasticsearch" % "2.4.1")通過(guò)TransportClient
與ES集群連接,CRUD操作便是基于此而實(shí)現(xiàn)的。
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