elasticsearch
文章平均质量分 79
猿界汪汪队
我是一个技术爱好者,热爱生活;我相信好的技术可以赢得更精彩的生活!
展开
-
elasitcsearch 开启认证后,报DecoderException: javax.net.ssl.SSLHandshakeException: No available authentic异常
数据的安全性不言而喻,今天在配置ES的认证时,发现如下错误:[2020-09-05T08:50:48,116][WARN ][o.e.t.TcpTransport ] [node-1] exception caught on transport layer [Netty4TcpChannel{localAddress=/[0:0:0:0:0:0:0:1]:7300, remoteAddress=/[0:0:0:0:0:0:0:1]:53662}], closing connectioni原创 2020-09-05 11:21:56 · 13611 阅读 · 7 评论 -
elasticsearch实现联想输入搜索(like操作)
通常,在项目中需要联想输入(即输入关键字,提示相关词条,类似百度google的搜索)的需求,可能大家都是用的数据库的like '%关键字%‘来实现。但是这样实现有几个问题。第一、这样的搜索无论是oracle还是mysql,都是无法使用索引的。在oracle中可能有全文检索可以使用,但是个人感觉效果不是很好。第二、输入的关键字有like的通病,就是只有保含关键字的词条才会被命中。如果中间...原创 2013-08-10 23:11:46 · 2858 阅读 · 2 评论 -
elasticsearch游标查询所有数据
在Elasticsearch中找一个复制索引的接口真难。现在官方唯一推荐的方法是使用游标获得被复制索引的所有document,然后使用bulkIndex新建立一个索引。 这个接口也很奇怪,第一次search竟然不返回数据。import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch...原创 2013-08-14 20:15:41 · 968 阅读 · 0 评论 -
elasticsearch更改mapping(不停服务重建索引)
Elasticsearch的mapping一旦创建,只能增加字段,而不能修改已经mapping的字段。但现实往往并非如此啊,有时增加一个字段,就好像打了一个补丁,一个可以,但是越补越多,最后自己都觉得惨不忍睹了。怎么办??这里有一个方法修改mapping,那就是重新建立一个index,然后创建一个新的mapping。你可能会问,这要是在生产环境,可行吗?答案是,如果你一开始就采取了合适的设...原创 2013-08-15 21:30:26 · 4855 阅读 · 1 评论 -
Elasticsearch升级到1.2的不兼容变化-系统和设置
本文为官方文档的译文加个人理解。作者翻译时,elasticsearch(下面简称es)的版本为1.2.1。请支持原创:http://donlianli.iteye.com/blog/2090177 1、系统级别及设置方面1.1 es启动时,默认是作为一个前台程序启动。如果你想让es作为一个后台守护进程,需要在启动命令后面加-d参数。 1.2 命令行参数,默认不需要再加...2014-07-09 23:53:15 · 145 阅读 · 0 评论 -
Elasticsearch升级到1.2(1.x)API的变化-二
本文为官方文档的译文加个人理解。作者翻译时,elasticsearch(下面简称es)的版本为1.2.2。请支持原创:http://donlianli.iteye.com/blog/2090606 一、统计信息相关命令的变化有关集群状态cluster_state, 节点信息nodes_info, 节点统计信息nodes_stats和索引信息indices_stats命...2014-07-10 23:15:25 · 106 阅读 · 0 评论 -
Elasticsearch升级至1.x后API的变化-三
请支持原创:http://donlianli.iteye.com/blog/2091127 1、索引格式1.x之前的版本,被索引的文档type会同时出现在url和传输的数据格式中,如下: PUT /my_index/my_type/1{ "my_type": { ... doc fields ... }} ...2014-07-12 22:55:13 · 102 阅读 · 0 评论 -
Elasticsearch搜索类型(query type)详解
关于我,邯郸人。对这类话题感兴趣?欢迎发送邮件至donlianli@126.com请支持原创http://donlianli.iteye.com/blog/2094305es在查询时,可以指定搜索类型为QUERY_THEN_FETCH,QUERY_AND_FEATCH,DFS_QUERY_THEN_FEATCH和DFS_QUERY_AND_FEATCH。那么这4种搜索...原创 2014-07-20 23:05:32 · 1198 阅读 · 0 评论 -
让elasticsearch(es)分片分布在不同的机器上
有两种方法,都是修改es的配置文件(%ES_HOME%/config/elasticsearch.yml):方法一、设置cluster.routing.allocation.same_shard.host: true。这个设置是告诉es,将同一shard的primary shard和replica shard分步在不同的主机上(官方文档说按照不同的IP或主机名称来判断是否是同一主机)。...2014-03-05 21:45:41 · 2868 阅读 · 0 评论 -
如何禁用elasticsearch(ES)的自动创建mapping
在配置文件中增加如下配置: action.auto_create_index: falseindex.mapper.dynamic: false2014-03-05 21:53:31 · 4250 阅读 · 1 评论 -
elasticsearch实战-使用G1垃圾回收
Java的垃圾回收真是让人又恨又爱。当今大内存已经成为服务器的趋势,使用CMS垃圾回收有点捉襟见肘。为何要使用g1垃圾回收,我想用过es的人都会很清楚。下面我就介绍一下在elasticsearch中,如何使用G1垃圾回收。首先找到es的配置文件。elasticsearch.in.sh,这个文件在es的bin目录下面。然后找到配置垃圾回收的配置。# Force the JVM to ...2013-09-28 10:34:51 · 598 阅读 · 1 评论 -
Elasticsearch安装ik插件
想要给elasticsearch安装一个中文分词插件,网上的资料都有点过时。现在记录一下从源码安装ik插件的过程。(注:我用的版本是0.90.2)。 1、下载源码首先去ik的git网站下站源码,网址:https://github.com/medcl/elasticsearch-analysis-ik下载完源码后,发现没有对应的jar包。我用mvn package,打了一...2013-09-28 16:50:07 · 229 阅读 · 0 评论 -
elasticsearch 1.x优化
关于我,邯郸人。对这类话题感兴趣?欢迎发送邮件至donlianli@126.comhttp://donlianli.iteye.com/blog/2115979 本博文为Elasticsearch Server2nd的部分第7章部分章节的翻译,版权归原作者。设置Filter cache缓存是提高性能的很重要的手段,es中的filter cache能够...2014-09-12 23:21:17 · 123 阅读 · 0 评论 -
Elasticsearch1.x Java教程
使用基于elasticsearch1.2的jar包写的。 CSDN下载地址:http://download.csdn.net/detail/donlian/8243697百度网盘地址:http://pan.baidu.com/s/1dDxSYMP2014-12-11 13:18:40 · 138 阅读 · 0 评论 -
elasticsearch 添加字段
Elasticsearch中的mapping一旦创建,就不能再修改。但是添加字段是可以的。其实很简单,只需在原来的mapping上面直接新增加一个field,然后重新创建一下mapping就可以了。原mapping的定义如下:private static XContentBuilder getMapping() throws Exception{ XContentBuilde...原创 2013-08-10 09:02:04 · 1295 阅读 · 3 评论 -
ElasticSearch 测试连接工具(TestConnection)
截止到0.90.x的版本,Elasticsearch已经将connectedNodes从api中去掉,具体代替的方法是什么呢?也没有找到相关的说明。因此决定自己手工写一个工具类。其实,我们只有通过API去执行一个方法,就可以测试连接是否正常。测试的方法选定为获得集群node的信息。测试代码: import java.util.Map;import org.elasticsearc...2013-08-10 08:50:48 · 2433 阅读 · 0 评论 -
elasticsearch实战-使用G1垃圾回收
Java的垃圾回收真是让人又恨又爱。当今大内存已经成为服务器的趋势,使用CMS垃圾回收有点捉襟见肘。为何要使用g1垃圾回收,我想用过es的人都会很清楚。下面我就介绍一下在elasticsearch中,如何使用G1垃圾回收。首先找到es的配置文件。elasticsearch.in.sh,这个文件在es的bin目录下面。然后找到配置垃圾回收的配置。Java代码#Forcethe...原创 2013-11-19 18:48:55 · 4890 阅读 · 1 评论 -
Elasticsearch store属性理解
在Elasticsearch创建mapping的时候,需要制定store属性和index属性,对于刚入门es的学者,通常对lucene又不熟悉的人,通常不知道如何设置这两个值。 先来看需求:在做搜索时,经常会需要对一个分类进行分组,比如搜索"ipad",需要在平板电脑分类下面统计有多少个商品,在电脑配件下面统计有多少个商品,这种统计数量的需求,我们通常会在document里面添加一...2013-11-15 18:03:23 · 1515 阅读 · 0 评论 -
搜索浅谈(Elasticsearch和Lucene4分享)
刚刚过去的双11,真是给线下运营商好好上了一课。当今的互联网真是炙手可热,大家对互联网的热情是如此之高。相信电商之间的竞争将更加的激烈和残酷,不过,搜索,作为用户体验很重要的一点,各大电商也做的越来越好。但是,我相信软件只有开始,没有结束,搜索的业务也在不停的变化。搜索技术,你值得拥有。 现在才开始谈搜索,真是汗颜。Elasticsearch的教程都写了一堆了,现在才开始谈。我们用搜索...2013-11-16 22:30:05 · 339 阅读 · 0 评论 -
Lucene4基础概念-Elasticsearch深入
学习Lucene是为了更深入搜索,学习Lucene4是为了弄懂ES中没有解释的疑问,等看完Lucene,才发现,搜索的核心原来都是Lucene,Elasticsearch只不过是包在Lucene外面的一层皮。 Lucene是一个搜索引擎包,它并非一个像tomcat一样的产品。它衍生出了solr和elasticsearch。当然,我学习的是后者。solr是apache孵化的一个搜索...2013-11-16 22:46:35 · 105 阅读 · 0 评论 -
ElasticSearch入门-增删改查(CRUD)
转载请标明出处:http://donlianli.iteye.com/blog/1902238 ElasticSearch(名称太长,后面简称ES)作为一个搜索引擎,目前可谓是如日中天,几乎和solr齐驾并驱。关于他能做什么,跟云计算有什么关系,在此不再描述。但是ES的官方文档,特别是关于java的客户端文档,真是少的可怜,甚至连个完整的增删改的示例都没有。在此,我就献丑了。在开始...2013-07-09 21:48:38 · 3695 阅读 · 0 评论 -
ElasticSearch入门-Bulk,Search操作
转载请标明出处:http://donlianli.iteye.com/blog/1902840 其实在上一篇博客中,只要大家能看懂,就应该能够根据其代码做到举一反三了,依次类推ES的批量操作Bulk,搜索功能Search等,但在这里还是简单讲一下。 批量索引和删除 BulkRequestBuilder bulkRequest = client.prepareBulk()...2013-07-10 22:46:16 · 205 阅读 · 0 评论 -
elasticsearch too many open files
详细解法见:http://www.elasticsearch.org/tutorials/too-many-open-files/总体意思是,在linux系统中,使用了非root用户启动的elasticsearch,但Linux对这些非特权用户打开的文件格式做了限制。导致elasticsearch报错。 修改方法,使用root编辑/etc/security/limits.conf,在...2013-07-11 17:21:38 · 367 阅读 · 0 评论 -
ElasticSearch入门-搜索如此简单
转载请标明出处:http://donlianli.iteye.com/blog/1904064 搜索引擎我也不是很熟悉,但是数据库还是比较了解。可以把搜索理解为数据库的like功能的替代品。因为like有以下几点不足:第一、like的效率不行,在使用like时,一般都用不到索引,除非使用前缀匹配,才能用得上索引。但普通的需求并非前缀匹配。第二、like的不能做到完全的模糊匹配。...2013-07-11 22:11:29 · 143 阅读 · 0 评论 -
Elasticsearch一些基础概念理解
转载请标明出处:http://donlianli.iteye.com/blog/1905552 熟悉ES中的几个关键概念:节点(Node):一个elasticsearch运行的实例,其实就是一个java进程。一般情况下,一台机器运行在一台机器上。集群(Cluster): 好几个有相同集群名称的节点(Node)。索引(Index):有点象数据库。类型(Type):可以看做...2013-07-13 22:59:49 · 140 阅读 · 0 评论 -
Elasticsearch聚合功能Facet
在常规数据库中,我们都知道有一个sql就是group,分组。如果主表只有对应的一个列记录的分组的ID,那么还好统计,比如说每本书book表,有一个分类catId,记录是属于哪一类的书,那么直接按照catId进行分组即可。可是在实际应用种,并非如此简单。一本书往往属于多个分类,比如:某本书既属于科技类书,又属于儿童类书,要求按照这两种条件进行筛选,都能筛选出来,如果要求按照分类进行统计数量,数据...2013-07-15 21:44:57 · 501 阅读 · 0 评论 -
ElasticSearch入门-结构定义之Mapping
相当于数据库的表结构的定义,elasticsearch的mapping 也很重要。直接关系到性能及搜索结果的准确性。elasticsearch的java api的例子太少,我在这儿就献丑了。为了说明mapping的定义,我这里定义了一个简单的模型,就ID,type,和catIds 3个属性,重在说明如何使用java api来定义mapping,具体各field应该如何定义,这里不做讨论。...2013-08-06 22:35:37 · 661 阅读 · 0 评论 -
ElasticSearch入门-Get Mapping
想要在Java API中获得一个mapping 还真困难,以此铭记。import org.elasticsearch.client.Client;import org.elasticsearch.cluster.ClusterState;import org.elasticsearch.cluster.metadata.IndexMetaData;import org.elast...2013-08-06 22:39:08 · 941 阅读 · 0 评论 -
ElasticSearch入门- 设置分片副本数量及putMapping
在之前的一篇文章中,写到如何创建mapping。里面只是简单的创建了一个mapping。其实,这种比较重要并且一旦建立无法修改的操作还是需要仔细规划的。今天我介绍设置index的分片数量及副本数量,即创建索引的如何指定分片的个数及副本的个数。分片的个数在创建之后是无法再增加和减少的,除非你另外建一个索引库,而副本是可以在运行的时候,动态增加和减少。因此,在创建索引库时,规划好分片(Shar...2013-08-08 23:05:31 · 1916 阅读 · 0 评论 -
ElasticSearch入门-搜索
搜索引擎我也不是很熟悉,但是数据库还是比较了解。可以把搜索理解为数据库的like功能的替代品。因为like有以下几点不足:第一、like的效率不行,在使用like时,一般都用不到索引,除非使用前缀匹配,才能用得上索引。但普通的需求并非前缀匹配。第二、like的不能做到完全的模糊匹配。比如like '%化痰冲剂%'就不能把”化痰止咳冲剂“搜索出来。但是普通的用户,需求就是这样第三、lik...原创 2013-07-14 09:55:29 · 736 阅读 · 0 评论