
ElasticSearch
文章平均质量分 80
wbj0110
这个作者很懒,什么都没留下…
展开
-
分布式搜索elasticsearch单机与服务器环境搭建
先到http://www.elasticsearch.org/download/下载最新版的elasticsearch运行包,本文写时最新的是0.19.1,作者是个很勤快的人,es的更新很频繁,bug修复得很快。下载完解开有三个包:bin是运行的脚本,config是设置文件,lib是放依赖的包。如果你要装插件的话就要多新建一个plugins的文件夹,把插件放到这个文件夹中。1.单机环境:...原创 2013-09-14 10:50:39 · 116 阅读 · 0 评论 -
GitHub使用elasticsearch遇到的一些问题及解决方法
GitHub此前的搜索使用Solr实现,新上线的搜索基于elasticsearch,运行在多个集群上。由于代码搜索索引很大,GitHub专门为其指定了一个集群。目前该集群包括26个存储节点和8个客户端节点。存储节点负责保存构成搜索索引的数据,而客户端节点负责协调查询活动。每个搜索节点中有2TB的SSD存储。 发生故障时,整个集群保存了大概17TB的代码。数据以分片方式跨越...原创 2013-10-20 11:08:32 · 345 阅读 · 0 评论 -
Recent Code Search Outages
Last week, between Thursday, January 24 and Friday, January 25 we experienced a critical outage surrounding our newly-launched Code Search service. As always, we strive to provide detailed, transpar...原创 2013-10-20 11:09:00 · 202 阅读 · 0 评论 -
nutch2.1+mysql+elasticsearch整合linux单机部署
from internet这次主要介绍下nutch2.1和mysql和elasticsearch的整合,是在单机上运行,并不是分布式部署。1、下载nutch2.1 nutch下载地址:http://labs.mop.com/apache-mirror/nutch/2.1/apache-nutch-2.1-src.tar.gz 下载完成后解压, 2、配置nu...原创 2013-10-21 09:18:31 · 232 阅读 · 0 评论 -
elasticsearch客户端
Elasticsearch有各种语言的客户端,下面一一列出来:PerlElasticSearch.pm: Perl客户端Pythonpyes: Python客户端pyelasticsearch: Python客户端ESClient: 一个轻量级Python客户端rawes: Python客户端elasticutils: Python客户端RubyTire: Ruby A...原创 2013-10-21 09:19:02 · 634 阅读 · 0 评论 -
elasticsearch插件
Elasticsearch扩展性非常好,有很多官方和第三方开发的插件,下面以分词、同步、数据传输、脚本支持、站点、其它这几个类别进行划分。分词插件Combo Analysis Plugin (作者 Olivier Favre, Yakaz)简介:组合分词器,可以把多个分词器的结果组合在一起。Smart Chinese Analysis Plugin (作者 elastics...原创 2013-10-21 09:20:00 · 550 阅读 · 0 评论 -
elasticsearch使用jetty进行简单的权限控制
默认elasticsearch是使用netty作为http的容器,由于netty并没有权限模块,所以默认es没有任何的权限控制,直接通过http就可以进行任何操作,除非把http禁用。但如果你使用elasticsearch-jetty插件,就可以使用jetty自带的权限管理进行一些权限的控制,同时也可以支持通过https协议来访问es,还有就是支持gzip压缩响应信息。 插件参数...原创 2013-10-22 12:51:53 · 111 阅读 · 0 评论 -
elasticsearch手动控制分片分布
elasticsearch可以通过reroute api来手动进行索引分片的分配。不过要想完全手动,必须先把cluster.routing.allocation.disable_allocation参数设置为true,禁止es进行自动索引分片分配,否则你从一节点把分片移到另外一个节点,那么另外一个节点的一个分片又会移到那个节点。 一共有三种操作,分别为:移动(move),取消(ca...原创 2013-10-22 13:03:54 · 74 阅读 · 0 评论 -
elasticsearch更改node id生成方法
集群中节点的id是由discovery定义的,默认es有两种实现方式,一种是org.elasticsearch.discovery.local.LocalDiscovery表示把es的节点启动在同一个jvm的环境下,这样就可以通过AtomicLong来进行数字递增的id生成。另一种是org.elasticsearch.discovery.zen.ZenDiscovery它是...原创 2013-10-22 13:05:16 · 629 阅读 · 0 评论 -
ElasticSearch 与 Solr 的对照测试
ElasticSearch 与 Solr 的对比测试本文从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。 单机对比1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 3...原创 2013-10-23 10:13:40 · 158 阅读 · 0 评论 -
elasticsearch RESTful搜索引擎-简介
搜索了一些资料...关于elasticsearch下面会有一些学习笔记..记录学习这样搜索引擎的过程...同样可以参考:http://www.elasticsearch.org ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据...原创 2013-10-23 10:25:18 · 88 阅读 · 0 评论 -
eclispe freemarker ide 插件安装
首先打开jbossTools的下载页面 http://www.jboss.org/tools/download/进入到此页面,看到图上的红色框吗?这里的链接是安装jboss tools http://download.jboss.org/jbosstools/updates/stable/juno/好了,打开eclipse 好了,你点OK后,左则就会提示一系...原创 2013-10-24 09:48:45 · 151 阅读 · 0 评论 -
elasticsearch RESTful搜索引擎-(java jest 使用[入门])
elasticsearch简称ESjest好吧下面我介绍下jest(第三方工具)它是ES的java客户端,基于http restful...jest是开源的 首先看看项目的目录结构我一般习惯了用maven去管理我的项目...所以...看pom.xml吧 <projectxmlns="http://maven.apache.org/POM/4....原创 2013-10-24 09:49:06 · 117 阅读 · 0 评论 -
elasticsearch结合spring springmvc jest 使用做成WEB架构
做成WEB的架构,当然我不用servlet了...直接使用spring springmvc去做吧...也当是一个ES跟spring springmvc 集成的例子,为了简单起见,我这里不用freemarker了..我直接使用jsp做视图...我也用了bootstrap去管理一个web页面,这样可以省很多时间...当然我也是用maven了...如果不有熟悉maven的朋友们,可以跟我交流下,...原创 2013-10-24 09:49:29 · 206 阅读 · 0 评论 -
分布式搜索elasticsearch的5种分片查询优先级
elasticsearch可以使用preference参数来指定分片查询的优先级,使用时就是在请求url上加上preference参数,如:http://ip:host/index/_search?preference=_primaryjava的调用接口翻译为:client.prepareSearch("index").setPreference("_primary")。 默认情况...原创 2013-10-20 11:07:57 · 202 阅读 · 0 评论 -
分布式搜索elasticsearch中文分词集成
elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍下两者的用法,其实都差不多的,先安装插件,命令行:安装ik插件:plugin -install medcl/elasticsearch-analysis-ik/...原创 2013-10-20 11:07:23 · 95 阅读 · 0 评论 -
Elasticsearch Java虚拟机配置详解
引言:今天,事情终于发生了。Java6(Mustang),是2006年早些时候出来的,至今仍然应用在众多生产环境中,现在终于走到了尽头。已经没有什么理由阻止迁移到Java7(Dolphin)上了。这也促使我想写一篇关于在ElasticSearch上配置Java6和7的细微差异的博文。Elasticsearch对Java虚拟机进行了预先的配置。通常情况下,因为这些配置的选择还是很谨慎...原创 2013-09-14 10:51:12 · 127 阅读 · 0 评论 -
Shards and replicas in Elasticsearch
When you download elasticsearch and start it up you create an elasticsearch node which tries to join an existing cluster if available or creates a new one. Let's say you created your own new cluster...原创 2013-09-17 09:37:16 · 152 阅读 · 0 评论 -
A Whole New Code Search
Finding great code on GitHub just got a whole lot easier. Today we're releasing several big improvements to code search.New TechnologyFirst, we are unveiling our new search infrastructure that w...原创 2013-10-12 09:16:05 · 93 阅读 · 0 评论 -
分布式搜索elasticsearch几个概念解析
介绍下es的几个概念:cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。shards 代表索引分片,es可以把一个完整的索引...原创 2013-10-15 10:46:07 · 92 阅读 · 0 评论 -
分布式搜索elasticsearch配置文件详解
elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的东西。cluster.name: elas...原创 2013-10-15 10:47:11 · 81 阅读 · 0 评论 -
2.分布式搜索elasticsearch java API ------put Mapping定义索引字段属性
Mapping,就是对索引库中索引的字段名及其数据类型进行定义,类似于关系数据库中表建立时要定义字段名及其数据类型那样,不过es的mapping比数据库灵活很多,它可以动态添加字段。一般不需要要指定mapping都可以,因为es会自动根据数据格式定义它的类型,如果你需要对某些字段添加特殊属性(如:定义使用其它分词器、是否分词、是否存储等),就必须手动添加mapping。有两种添加mapping...原创 2013-10-16 08:53:12 · 144 阅读 · 0 评论 -
3.分布式搜索elasticsearch java API 之------索引数据
es索引数据非常方便,只需构建个json格式的数据提交到es就行,下面是个java api的例子[java] view plaincopyXContentBuilder doc = jsonBuilder() .startObject() .field("title", "this is a title...原创 2013-10-16 08:53:35 · 114 阅读 · 0 评论 -
5.分布式搜索elasticsearch java API )------搜索
elasticsearch的查询是通过执行json格式的查询条件,在java api中就是构造QueryBuilder对象,elasticsearch完全支持queryDSL风格的查询方式,QueryBuilder的构建类是QueryBuilders,filter的构建类是FilterBuilders。下面是构造QueryBuilder的例子:[java] view plainc...原创 2013-10-16 08:54:25 · 72 阅读 · 0 评论 -
7.分布式搜索elasticsearch java API ------与MongoDB同步数据
elasticsearch提供river这个模块来读取数据源中的数据到es中,es官方有提供couchDB的同步插件,因为项目用到的是mongodb,所以在找mongodb方面的同步插件,在git上找到了elasticsearch-river-mongodb。 这个插件最初是由aparo写的,最开始的功能就是读取mongodb里面的表,记录最后一条数据的id,根据时间间隔不断...原创 2013-10-17 21:19:23 · 99 阅读 · 0 评论 -
8.分布式搜索elasticsearch java API ------使用More like this实现基于内容的推荐
基于内容的推荐通常是给定一篇文档信息,然后给用户推荐与该文档相识的文档。Lucene的api中有实现查询文章相似度的接口,叫MoreLikeThis。Elasticsearch封装了该接口,通过Elasticsearch的More like this查询接口,我们可以非常方便的实现基于内容的推荐。先看一个查询请求的json例子: [plain] view plaincop...原创 2013-10-17 21:21:29 · 237 阅读 · 0 评论 -
分布式搜索elasticsearch集群监控工具bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。项目git地址: https://github.com/lukas-vlcek/bigdesk。和head一样,它也是个独立的网页程序,使用方式和head一样。插件安装运行:1.bin/plugin -install luk...原创 2013-10-17 21:22:05 · 109 阅读 · 0 评论 -
分布式搜索elasticsearch集群管理工具head
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es。或直接下载源码,在本地打开index.html运行它。该工具的git地址是: https://github.com/Aconex/elasticsearch-head 插件安装方法:1.elasticsearch/bin/p...原创 2013-10-17 21:25:15 · 90 阅读 · 0 评论 -
生产环境使用elasticsearch遇到的一些问题以及解决方法
1.由gc引起节点脱离集群 因为gc时会使jvm停止工作,如果某个节点gc时间过长,master ping3次(zen discovery默认ping失败重试3次)不通后就会把该节点剔除出集群,从而导致索引进行重新分配。解决方法:(1)优化gc,减少gc时间。(2)调大zen discovery的重试次数(es参数:ping_retries)和超时时间(es参数:ping_...原创 2013-10-18 09:30:42 · 173 阅读 · 0 评论 -
ES实例
安装包下载当前最新版本为:0.20.6http://www.elasticsearch.org/download/ 官方视频教程http://www.elasticsearch.org/videos/Window环境下载完解开有以下个包:bin是运行的脚本,config是设置文件,lib是放依赖的包。启动解压目录下的bin名称的文件夹,双击elasticsearch.bat文...原创 2013-10-29 09:24:00 · 492 阅读 · 0 评论