搜索引擎
文章平均质量分 88
昕玫
求知而无欲
展开
-
Solr4.6.1配置与建立索引——搜索引擎学习(一)
一、 solr简介Solr是基于Lucene的全文搜索服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。简而言之,Sorl是一个搜索引擎,我们可以发送文档给它,让它建立倒排索引(建立搜索源);也可以发送查找请求,让它以某种形原创 2014-02-23 22:05:00 · 4193 阅读 · 0 评论 -
Elasticsearch:Elasticsearch基础上构建推荐引擎 资料收集
1. 深入了解推荐引擎组件(基于Apache Mahout和Elasticsearch)http://www.csdn.net/article/2015-05-14/2824676ES+mahout机器学习做用户筛选、分类和推荐。原创 2015-09-15 10:01:50 · 3692 阅读 · 0 评论 -
ElasticSearch:Nginx可以给ElasticSearch集群带来什么福利?
在高并发的情况下,我们可以采用nginx反向代理负载均衡到多台Elasticsearch 服务器上。架构图:那么使用nginx有什么好处呢?1. 记录每个API访问请求的日志。(ElasticSearch本身不支持这个功能,只有slowLog和服务日志)2. 支持大量的客户端连接。ES官方的blog中推荐使用keep-alives,在nginx和ES之间使用长连接。原创 2015-08-05 18:04:02 · 6351 阅读 · 0 评论 -
Elasticsearch 集群版本升级步骤及注意事项
1、升级前的准备工作从Elasticsearch 的官方网站 https://www.elastic.co/downloads/elasticsearch 下载最新版本的Elasticsearch,为了线上方便对数据包的管理,一版选择 .gz.tar 格式或者 .zip 格式文件。 解压缩最新版本文件压缩包到指定目录,备份 config 目录中的 elast转载 2015-08-05 10:03:13 · 4027 阅读 · 0 评论 -
ElasticSearch:从[FIELDDATA]Data too large错误看FieldData配置
产生Data too large异常再尝试其他查询也是如此经排查原来是ES默认的缓存设置让缓存区只进不出引起的具体分析一下 ES缓存区概述FieldData1 监控FieldData2 Cache配置3 FieldData格式断路器总结1. 产生Data too large异常今早运行查询时,ES返回了如下报错:{ "error": "... CircuitBreakingE原创 2015-07-06 10:10:03 · 26539 阅读 · 6 评论 -
Elasticsearch:用Curator辅助Marvel,实现自动删除旧marvel索引
Marvel几乎是所有Elasticsearch用户的标配。以前我常用bigdesk来做ES集群的监控,直到项目需要上线时,方感觉到marvel才是想要的:它可以把观测值和重要事件记录下来!当出问题时打开bigdesk已经迟了,因为我们往往想知道过去的两小时发生了什么造成现在的情况。marvel则不同,它时刻保留观测数据。Marvel保留观测数据的代价是,它默认每天会新建一个index原创 2015-08-11 18:29:53 · 5894 阅读 · 1 评论 -
ElasticSearch:为中文分词器增加对英文的支持(让中文分词器可以处理中英文混合文档)
当我们使用中文分词器的时候,其实也希望它能够支持对于英文的分词。试想,任何一个存储文字的字段都有可能是中英文夹杂的。我们的项目中使用IKAnalyzer作为中文分词器,它在处理文档过程中遇到英文时,利用空格和标点将英文单词取出来,同时也会对其转全小写处理。其实这和真正的英文分词已经很接近了,只有一墙之隔:词干提取。一个真正的英文分词器除了原创 2015-08-12 12:19:20 · 16943 阅读 · 1 评论 -
为ElasticSearch添加HTTP基本认证(head,bigdesk等插件增加登陆机制)
为ElasticSearch添加HTTP基本认证ES的HTTP连接没有提供任何的权限控制措施,一旦部署在公共网络就容易有数据泄露的风险,尤其是加上类似elasticsearch-head这样友好的前端界面,简直让你的数据瞬间裸奔在黑客的眼皮底下。项目上线前做十万伏特的防护当然不现实,但至少,我们不要裸奔,穿一套比基尼吧。而做一个简单的HTTP认证并不需要从头造轮子,elasticsearc转载 2015-08-10 11:19:10 · 8955 阅读 · 0 评论 -
ElasticSearch:版本冲突处理(事务控制)
处理冲突当你使用索引API来更新一个文档时,我们先看到了原始文档,然后修改它,最后一次性地将整个新文档进行再次索引处理。Elasticsearch会根据请求发出的顺序来选择出最新的一个文档进行保存。但是,如果在你修改文档的同时其他人也发出了指令,那么他们的修改将会丢失。很长时间以来,这其实都不是什么大问题。或许我们的主要数据还是存储在一个关系数据库中,而我们只是将为了可以搜索,才将这些数据转载 2015-07-06 10:18:09 · 4257 阅读 · 1 评论 -
ElasticSearch硬件使用说明
译自ES官方对于硬件设备的说明,原文见: [https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html]当你准备把ElasticSearch部署到生产服务器上的时候,这里有一些建议可供你参考。没有什么硬性的规则,ElasticSearch可以在很广泛的应用场景中使用,也可以在各种机器上跑起来。但翻译 2015-06-03 12:12:03 · 2632 阅读 · 0 评论 -
Gmail架构相关资料收集
Want to know how Gmail works - and whether it will work?想知道Gmail是怎么工作的吗?未来的它会如何发展?简要描述: Gmail限制每个免费用户只拥有1GB(注:现在是15GB了)的邮箱容量,算上冗余和索引,每百万用户需要2.5PB的存储。 然而,实际上并不需要这么多:Gmail采原创 2015-06-04 11:19:56 · 1716 阅读 · 0 评论 -
ElasticSearch:一个物理节点上应该有多少个分片?
一个物理节点上应该有多少个分片?ES官方给予的回答是:每个分片都是一个Lucene实例,它会消耗相应的CPU,IO,内存,文件描述符等等。所以我们应该让每台机器上的分片数尽量的少,如果你是一个RDBMS使用者,你也不希望在一台物理机上部署多个数据库,不是吗?从我的理解上看,分片数和横向拓展性是相关的,分片数多的话,比较便于横向拓展——有新服务器来的时候,我们有多余的原创 2015-06-04 09:08:07 · 7261 阅读 · 0 评论 -
ElasticSearch:堆大小与swap设置
译自ES官方对于JVM参数的建议,原文见: https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html目录1堆空间的配置方法2把内存留一半给Lucene3别超过32GB!4swap(交换区)是性能终结者翻译 2015-06-17 14:16:39 · 6966 阅读 · 0 评论 -
ElasticSearch:如何在更新时增加内部对象
遇到了和这位题主类似的问题:假如某文档中已经有三个附件(作为内部对象保存),我想增加第四个附件怎么办?ES本身并没有提供这个功能,需要我们编写script来完成。原创 2015-05-20 12:05:03 · 3552 阅读 · 0 评论 -
ElasticSearch:Attachment类型的正确用法
待更新。原创 2015-05-20 15:24:51 · 3994 阅读 · 0 评论 -
ElasticSearch重启集群方案
一直对ElasticSearch集群的重启有疑惑,因为每个结点重启时,ElasticSearch集群的高可用和自平衡方案会自动在别的结点上复制该重启结点的分片,这定然导致了很大的IO和网络开支。重启一次集群相当于对所有的分片重新部署了一次,而且依次重启结点的时间也很长,需等待集群平衡好了,处于green的状态后才能重启下一个结点。还好ES本身已考虑了这个问题,官方文档中对于集群重启的解原创 2015-05-14 10:50:51 · 5963 阅读 · 0 评论 -
ElasticSearch 使用 Inner_hits 查询Parent-Child(父子)文档 - 1.50新特性
inner_hits文档:http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-inner-hits.html#parent-child-inner-hits (ElasticSearch 1.50+ 可用) 在使用搜索“has-child”搜索父文档时,一般情况只原创 2015-04-08 12:14:52 · 12335 阅读 · 1 评论 -
使用Logstash + Elasticsearch作为大数据索引、分析工具
logstash(1.4.0)是一个不错的日志监控与分析工具,数据通过logstash使用后端的ElasticSearch(1.1.1)集群完成数据索引,以供后续的查询、分析使用。logstash提供了一个geoip的filter,如果发送的事件数据中有IP地址之类的数据,就可以通过这个过滤器将对应的国家、城市等信息添加到数据中,为以后的上卷或下钻操作提供数据基础。我们的应用场景是这样转载 2015-04-07 09:05:58 · 1508 阅读 · 0 评论 -
【ElasticSearch】 QueryString查询中文歧义词异常问题解决
目前文档存储和查询使用的是IKAnalyse分词,IK这种分词算法对于歧义的处理比较完善,比如:”光远大厦“,会分割成”光”,“远“,”远大“,”大厦“。也就是说,它几乎把可能的分词都提供了,这大大提高了用户搜到自己想要的文章的命中率。但今天发现一个问题,在使用queryString来查询这类歧义词的时候,经常会找不到:"query_string": {原创 2016-01-24 17:30:07 · 3927 阅读 · 0 评论