29、ElasticSearch
文章平均质量分 91
jingqiang521
这个作者很懒,什么都没留下…
展开
-
ElasticSearch的Java Api基本操作入门指南
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎框架。分布式是其最大的特点。安装比较简单,如果单机运行的话直接下载解压,在命令行下运行bin/elasticsearch就行了(win的dos和linux的窗口都行)。它能够通过http、restful、thrift等方式访问。不过今天我们看的是使用最普通的java api来测试其功能。java转载 2017-02-20 19:42:16 · 796 阅读 · 0 评论 -
分布式搜索elasticsearch高级配置之(三)----------中文分词集成
elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍下两者的用法,其实都差不多的,先安装插件,命令行:安装ik插件:[plain] view plain copyplugin -install me转载 2017-02-20 19:54:02 · 584 阅读 · 0 评论 -
分布式搜索elasticsearch高级配置之(二)------线程池设置
一个Elasticsearch节点会有多个线程池,但重要的是下面四个:索引(index):主要是索引数据和删除数据操作(默认是cached类型)搜索(search):主要是获取,统计和搜索操作(默认是cached类型)批量操作(bulk):主要是对索引的批量操作(默认是cached类型)更新(refresh):主要是更新操作(默认是cached类型)可以通过给设置一个参转载 2017-02-20 19:51:33 · 926 阅读 · 0 评论 -
分布式搜索elasticsearch高级配置之(一)------分片分布规则设置
分片分布是把索引分片分布到节点的过程。这个操作会在初次启动集群,副本分配,负载均衡,或增加删除节点时进行。下面是一些与分片分布相关的设置:cluster.routing.allocation.allow_rebalance设置根据集群中机器的状态来重新分配分片,可以设置为always, indices_primaries_active和indices_all_active,默认是设转载 2017-02-20 19:50:30 · 234 阅读 · 0 评论 -
分布式搜索elasticsearch java API 之(八)------使用More like this实现基于内容的推荐
基于内容的推荐通常是给定一篇文档信息,然后给用户推荐与该文档相识的文档。Lucene的api中有实现查询文章相似度的接口,叫MoreLikeThis。Elasticsearch封装了该接口,通过Elasticsearch的More like this查询接口,我们可以非常方便的实现基于内容的推荐。先看一个查询请求的json例子:[plain] view plai转载 2017-02-20 19:49:12 · 811 阅读 · 0 评论 -
分布式搜索elasticsearch java API 之(七)------与MongoDB同步数据
elasticsearch提供river这个模块来读取数据源中的数据到es中,es官方有提供couchDB的同步插件,因为项目用到的是MongoDB,所以在找mongodb方面的同步插件,在Git上找到了elasticsearch-river-mongodb。 这个插件最初是由aparo写的,最开始的功能就是读取mongodb里面的表,记录最后一条数据的id,根据时间间隔不断访转载 2017-02-20 19:48:10 · 738 阅读 · 0 评论 -
分布式搜索elasticsearch java API 之(六)------批量添加删除索引
elasticsearch支持批量添加或删除索引文档,Java api里面就是通过构造BulkRequestBuilder,然后把批量的index/delete请求添加到BulkRequestBuilder里面,执行BulkRequestBuilder。下面是个例子:[java] view plain copyimport static org.el转载 2017-02-20 19:47:27 · 2284 阅读 · 0 评论 -
分布式搜索elasticsearch java API 之(五)------搜索
elasticsearch的查询是通过执行json格式的查询条件,在Java api中就是构造QueryBuilder对象,elasticsearch完全支持queryDSL风格的查询方式,QueryBuilder的构建类是QueryBuilders,filter的构建类是FilterBuilders。下面是构造QueryBuilder的例子:[java] view plain转载 2017-02-20 19:46:50 · 243 阅读 · 0 评论 -
分布式搜索elasticsearch java API 之(三)(四)------索引数据、删除索引数据
es索引数据非常方便,只需构建个json格式的数据提交到es就行,下面是个Java api的例子[java] view plain copyXContentBuilder doc = jsonBuilder() .startObject() .field("title", "this is a t转载 2017-02-20 19:45:54 · 1254 阅读 · 0 评论 -
分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
Mapping,就是对索引库中索引的字段名及其数据类型进行定义,类似于关系数据库中表建立时要定义字段名及其数据类型那样,不过es的mapping比数据库灵活很多,它可以动态添加字段。一般不需要要指定mapping都可以,因为es会自动根据数据格式定义它的类型,如果你需要对某些字段添加特殊属性(如:定义使用其它分词器、是否分词、是否存储等),就必须手动添加mapping。有两种添加mapping的方转载 2017-02-20 19:44:32 · 3160 阅读 · 1 评论 -
分布式搜索elasticsearch java API 之(一)------与集群交互
注意:这是es1.x及以下版本的交互方式,新的2.x版本的请浏览es官网,里面有比较详细的例子(https://www.elastic.co/guide/en/elasticsearch/client/Java-api/current/transport-client.html)这是关于elasticsearch Java api的第一篇教程,陆续会把es的一些心得写出来。转载 2017-02-20 19:43:28 · 228 阅读 · 0 评论 -
分布式搜索elasticsearch配置文件详解
elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的东西。cluster.name: elas转载 2017-02-20 19:55:12 · 266 阅读 · 0 评论