索引数据
es索引数据非常方便,只需构建个json格式的数据提交到es就行,下面是个java api的例子:
XContentBuilder doc = jsonBuilder()
.startObject()
.field("title", "this is a title!")
.field("description", "descript what?")
.field("price", 100)
.field("onSale", true)
.field("type", 1)
.field("createDate", new Date())
.endObject();
client.prepareIndex("productIndex","productType").setSource(doc).execute().actionGet();
其中productIndex为索引库名,一个es集群中可以有多个索引库。productType为索引类型,是用来区分同索引库下不同类型的数据的,一个索引库下可以有多个索引类型。
删除索引数据
删除api允许从特定索引通过id删除json文档。有两种方法,一是通过id删除,二是通过一个Query查询条件删除,符合这些条件的数据都会被删除。
一、通过id删除
下面的例子是删除索引名为twitter,类型为tweet,id为1的文档:
DeleteResponse response = client
.prepareDelete("twitter", "tweet", "1")
.execute()
.actionGet();
二、通过Query删除
下面的例子是删除索引名为productIndex,title中包含query的所有文档:
QueryBuilder query = QueryBuilders.fieldQuery("title", "query");
client.prepareDeleteByQuery("productIndex")
.setQuery(query)
.execute()
.actionGet();
设置线程
当删除api在同一个节点上执行时(在一个分片中执行一个api会分配到同一个服务器上),删除api允许执行前设置线程模式 (operationThreaded选项),operationThreaded这个选项是使这个操作在另外一个线程中执行,或在一个正在请求的线程 (假设这个api仍是异步的)中执行。默认的话operationThreaded会设置成true,这意味着这个操作将在一个不同的线程中执行。下面是设置成false的方法:
DeleteResponse response = client
.prepareDelete("twitter", "tweet", "1")
.setOperationThreaded(false)
.execute()
.actionGet();
使用Facets:
SearchResponse sr = node.client().prepareSearch()
.setQuery(QueryBuilders.matchAllQuery())
.addFacet(FacetBuilders.termsFacet("f1").field("title"))
.addFacet(FacetBuilders.dateHistogramFacet("f2")
.field("price").interval("createDate")).execute().actionGet();
TermsFacet f1 = (TermsFacet) sr.getFacets().facetsAsMap().get("f1");
DateHistogramFacet f2 = (DateHistogramFacet)sr.getFacets().facetsAsMap().get("f2");
使用Percolate:
IndexResponse response = client.prepareIndex("twitter", "tweet", "1")
.setSource(jsonBuilder()
.startObject()
.field("user", "kimchy")
.field("postDate", new Date())
.field("message", "trying out Elastic Search")
.endObject()
)
.setPercolate("*")
.execute()
.actionGet();
分享到:
相关推荐
分布式搜索elasticsearch java API 之(三)--- 索引数据 6 分布式搜索elasticsearch java API 之(四)--- 删除索引数据 7 分布式搜索elasticsearch java API 之(五)--- 搜索 8 分布式搜索elasticsearch java API...
ElasticSearch是个开源的分布式的搜索引擎,它可以近乎实时的存储、检索数据;... ElasticSearch提供javaAPI,使用者可以通过javaAPI调用,但是7.0以后不会提供普通javaAPI,需要使用高级APIrest-high-level调用。
(狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战),包含了小狂神讲的东西,特别适合新手学习,笔记保存下来可以多看看。好记性不如烂笔头哦~,ElasticSearch,简称es,es是一个...
包含所因的索引建立、删除、查看,批量创建索引;搜索Query、过滤器 、分组高亮显示;以及创建Mapping
Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 我们建立一个网站或应用程序,并要...
2、es非常重要的一个api,是它的restful api,你自己思考一下,掌握这个es的restful api,可以让你执行一些核心的运维管理的操作,比如说创建索引,维护索引,执行各种refresh、flush、optimize操作,查看集群的健康...
ElasticSearch是一个基于Lucene(路(第一声)森(第三声))的搜索服务器。 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web(Delete、Post、Get、Put)接口。 Elasticsearch是用Java开发的,并作为...
Elasticsearch 是用 Java 语言编写的,并且提供了 RESTful API 以及丰富的客户端库,能够方便地与其它应用集成。 Elasticsearch 具有以下主要特点: 全文搜索:Elasticsearch 提供了快速、灵活、准确的全文搜索...
弹性搜索分布式RESTful搜索引擎 Elasticsearch是为云构建的分布式RESTful搜索引擎。 功能包括: 分布式且高度可用的搜索引擎。 每个索引均使用可配置数量的分片进行完全分片。 每个分片可以具有一个或多个副本。 对...
(6)课程学完之后,学员可以掌握es所有核心知识点,理解es核心原理,而且能够熟练动手操作所有学到的知识和功能,并且能够掌握ES集群的基本部署,并且基于Java开发一个适用于中小型企业的搜索引擎以及数据分析系统...
Elasticsearch的核心是一个分布式索引系统,允许用户快速地存储、搜索和分析大量数据。它支持结构化数据和非结构化数据的存储,并且提供了一套完整的RESTful API,使得开发者能够轻松地与Elasticsearch进行交互。...
一个分布式的实时文档存储,每个字段可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 维基百科、Stack Overflow、GitHub 都纷纷采用它来做搜索 ...
ElasticSearch简称es,es是一个开源的高扩展的分布式全文搜索引擎,它可以近乎实时的存储、检索数据,本身的扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也是用Java开发并使用Lucene作为核心来实现...
比如说本套课程中,既全面包括了从入门使用,到分布式文档系统操作,到搜索引擎操作,到索引管理,最后到Java API使用,这样完整的知识体系。同时还细致到包含很多独家的知识点,比如说Elasticsearch如何突破扩容...
ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例。像Solr4一样,是基于Lucene构建的。支持时间时间索引和全文检索。官网:http://www.elasticsearch.org 它对外提供一系列基于...
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 不过,Elasticsearch不仅仅是Lucene和全文...
Elasticsearch也是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。 不过,Elasticsearch不仅仅是Lucene和全文搜索引擎,它...
弹性搜索分布式RESTful搜索引擎 Elasticsearch是为云构建的分布式RESTful搜索引擎。 功能包括: 分布式且高度可用的搜索引擎。 每个索引均使用可配置数量的分片进行完全分片。 每个分片可以具有一个或多个副本。 对...
elasticsearch的电子书,主要介绍了es使用,分布式索引的原理,索引底层控制,JAVA的API使用,插件的部署等。
Elasticsearch是为云构建的分布式RESTful搜索引擎。 功能包括: 分布式且高度可用的搜索引擎。 每个索引均使用可配置数量的分片进行完全分片。 每个分片可以具有一个或多个副本。 对任一副本分片执行读取/搜索...