![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
hebeind100
这个作者很懒,什么都没留下…
展开
-
ElasticSearch索引优化
ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间的数据平衡。所以从上我可以通过索引的settings进行第一优化:“index.translog.flush_threshold_ops”: “100000″“index.refresh_interval”: “-1″,这两个参数第一是到tranlog数据达到多少条进行平衡,默认为5000...原创 2014-12-12 17:13:32 · 87 阅读 · 0 评论 -
Elasticsearch模块功能之-索引模板(Index templates)
Elasticsearch模块功能之-索引模板(Index templates) 索引可使用预定义的模板进行创建,这个模板称作Index templates。模板设置包括settings和mappings,通过模式匹配的方式使得多个索引重用一个模板,例如:定义模板: [html] view plaincopy curl -XPUT loca...原创 2014-10-18 19:56:56 · 167 阅读 · 0 评论 -
Elasticsearch模块功能之-索引存储(Store)
Elasticsearch模块功能之-索引存储(Store) 该模块可以控制索引数据的存储方式,索引可以存储在内存和磁盘上。使用内存方式可以得到更好的性能,但受限于实际的可用的物理内存大小。store level throttlingElasticsearch中的segments merge采用异步的方式,但系统低IO的情况下还是会影响索引和查询操作。想要解决这种问题,El...原创 2014-10-18 19:56:42 · 196 阅读 · 0 评论 -
Elasticsearch模块功能之-映射(Mapper)
Elasticsearch模块功能之-映射(Mapper) 当创建索引或者使用put mapping Api操作时,mapper模块主要负责将类型映射的定义添加到索引上。同时也支持预先没有定义的动态映射类型。1、动态映射: 索引一篇文档时新的“类型”可以动态添加。当遇到一个新的字段类型时,Elasticsearch可以自动检测数据类型并能自动添加类型映射。...原创 2014-10-18 19:56:30 · 573 阅读 · 0 评论 -
Elasticsearch模块功能之-索引分片分配(Index shard allocation)
Elasticsearch模块功能之-索引分片分配(Index shard allocation) 1、分片分配 包含或者排除filters可以来控制基于节点的索引分配。filters可以在索引级别和集群级别进行设置。如下使用集群级别举例: 设定有4个节点,每个的节点指定一个属性tag(可以随意修改),并赋予特定值,比如节点1设置为nod...原创 2014-10-18 19:56:19 · 276 阅读 · 0 评论 -
Elasticsearch模块功能之-快照和恢复(snapshot and restore)
Elasticsearch模块功能之-快照和恢复(snapshot and restore) 快照和恢复模块可以将单个索引或者整个集群做一个快照并存放到远程仓库上。目前支持共享文件系统仓库和官方通过插件方式提供的其他仓库。1、仓库注册 在创建或恢复仓库数据之前,首先需要到ElasticSearch里进行注册,如下命令用my_backup注册一个共享文件系统,...原创 2014-10-15 15:44:52 · 305 阅读 · 0 评论 -
ElasticSearch集群的安装和配置
ElasticSearch集群的安装和配置 说明:这里只介绍在Linux下ElasticSearch的安装配置,windows下的使用跟Linux很类似 一、前期准备 Elasticsearch 需要Java 7的支持,推荐使用Oracle JDK version 1.7.0_60,根据所选用平台在这里下载安装,完成安装后设置好环境变JAVA_HOME(如何设置J...原创 2014-10-15 15:41:43 · 215 阅读 · 0 评论 -
Elasticsearch模块功能之-自动发现(Discovery)
Elasticsearch模块功能之-自动发现(Discovery) 自动发现(Disovery)该模块主要负责集群中节点的自动发现和Master节点的选举。节点之间使用p2p的方式进行直接通信,不存在单点故障的问题。Elasticsearch中,Master节点维护集群的全局状态,比如节点加入和离开时进行shard的重新分配。 自动发现机制在目前版本(1.3.1)提供了四种选择...原创 2014-10-15 15:38:21 · 281 阅读 · 0 评论 -
Elasticsearch——Templates 模板
Elasticsearch——Templates 模板 刚开始的时候,每次实验都去改/etc/elasticsearch/elasticsearch.yml配置文件。事实上在template里修改settings更方便而且灵活!当然最主要的,还是调节里面的properties设定,合理的控制store和analyze了。 template设定也有多种方法。最简单的就是和存储数据一样PO...原创 2014-10-13 12:41:41 · 157 阅读 · 0 评论 -
Elasticsearch-索引优化
Elasticsearch-索引优化 ES索引优化篇主要从两个方面解决问题,一是索引数据过程;二是检索过程。(本文主要介绍)索引数据过程我在上面几篇文章中有提到怎么创建索引和导入数据,但是大家可能会遇到索引数据比较慢的过程。其实明白索引的原理就可以有针对性的进行优化。ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间...原创 2014-10-13 12:41:28 · 108 阅读 · 0 评论 -
ElasticSearch的各种服务的URL
ElasticSearch的各种服务的URL 1.curl192.168.106.58:9200/_cat/health?v 集群健康查看epoch timestamp cluster status node.total node.data shards pri relo init unassign 1400639131 10:25:31 ela...原创 2014-10-12 14:09:33 · 110 阅读 · 0 评论 -
elasticsearch java api——客户端 org.elasticsearch.client
elasticsearch java api——客户端 org.elasticsearch.client 在elasticsearch源代码中,进入到org.elasticsearch.client,你会发现下图所示的类:我们从最外层开始。1 org.elasticsearch.client.AdminClient接口AdminClient下有两个方法:1) cl...原创 2014-10-12 14:09:24 · 331 阅读 · 0 评论 -
Elasticsearch java api——节点实例化
Elasticsearch java api——节点实例化 要连接到集群,首先要告诉集群:你是谁,你有什么特征。在es中体现为实例化节点。es通过org.elasticsearch.node.NodeBuilder的build()或者node()方法实例化节点,build()创建节点而不启动,而node()方法等价于build().start(),即创建并启动。首先实例化Nod...原创 2014-10-12 14:09:13 · 169 阅读 · 0 评论 -
Kibana+Logstash+Elasticsearch 日志查询系统
Kibana+Logstash+Elasticsearch 日志查询系统 搭建该平台的目的就是为了运维、研发很方便的进行日志的查询。Kibana一个免费的web壳;Logstash集成各种收集日志插件,还是一个比较优秀的正则切割日志工具;Elasticsearch一个开源的搜索引擎框架(支持群集架构方式)。 1 安装需求1.1 理论拓扑 1.2 安装环境...原创 2014-10-11 12:26:16 · 115 阅读 · 0 评论 -
Elasticsearch模块功能之-索引别名(Index aliases )
Elasticsearch模块功能之-索引别名(Index aliases ) Elasticsearch的API支持给索引起别名,有了别名之后可以像使用索引一样使用它。但不只是这些,一个别名可以映射多个索引,所以在需要经常指定多个索引查询的情况下,大可将所查询的索引起一个别名来查。别名也可以将索引查询的过滤条件包含在内,使用别名查询时可以查询索引的一个子集。 创建...原创 2014-10-19 09:59:11 · 378 阅读 · 0 评论 -
Elasticsearch模块功能之-路由(routing)
Elasticsearch模块功能之-路由(routing) 索引分片分配能够控制索引分片在节点上怎么分布,那对于具体的文档能否控制具体节点的分布呢?答案是可以,根据路由公式shard = hash(routing) % number_of_primary_shards,Elasticsearch使用相同的routing参数来实现这个功能,但我们在创建索引时需如下进行配置: ...原创 2014-10-19 09:59:24 · 129 阅读 · 0 评论 -
Elasticsearch索引重建(Rebuild)
Elasticsearch索引重建(Rebuild) 索引重建(Rebuild) 索引创建后,你可以在索引当中添加新的类型,在类型中添加新的字段。但是如果想修改已存在字段的属性(修改分词器、类型等),目前ES是做不到的。如果确实存在类似这样的需求,只能通过重建索引的方式来实现。但想要重建索引,请保证索引_source属性值为true,即存储原始数据。索引重建的过程就...原创 2014-10-19 09:59:35 · 146 阅读 · 0 评论 -
Elasticsearch Aggregations限制内存使用
限制内存使用为了让聚集(或者任何需要访问字段值的请求)能够快点,访问fielddata一定会快些, 这就是为什么它加载到内存的原因。但是加载太多的数据到内存会导致垃圾回收缓慢, 因为JVM试着发现堆里面的额外空间,甚至导致OutOfMemory异常。可能让你吃惊的是,你会发现Elaticsearch不是只把符合你的查询的值加载到fielddata. 而是把index里的所有d...原创 2014-12-10 14:10:07 · 290 阅读 · 0 评论 -
elasticsearch filter bitset
关于elasticsearch filter bitset的全部在使用ES进行查询时,你常常会发现自己深深地陷入了过滤器的各种复合中。假设你需要过滤满足下面要求的用户:bitset首先需要看看bitset如何工作的。基本上,bitset是一个表示状态的列表。每个位置非0即1.过滤器不对文档打分——仅仅是包含或者拒绝。如果文档匹配了一个过滤器,则在bitset中会置成1;否则置为0...原创 2014-12-03 14:31:08 · 287 阅读 · 0 评论 -
ElasticSearch 倒排索引、分词
es使用称为倒排索引的结构达到快速全文搜索的目的。 一个倒排索引包含一系列不同的单词,这些单词出现在任何一个文档,对于每个单词,对应着所有它出现的文档。 比如说,我们有2个文档,每个文档有一个conteng字段。内容如下:“ The quick brown fox jumped over the lazy dog”“ Quick brown foxes leap...原创 2014-11-04 09:39:56 · 546 阅读 · 0 评论 -
ElasticSearch 类型映射
当查看索引里的数据,我们意识到一些奇怪的东西。有些事情看起来有问题,我们在索引里有12个tweets,只有1个包含date 2014-09-15现在让我们看看这些查询。 GET /_search?q=2014 # 12 resultsGET /_search?q=2014-09-15 # 12 results !GET /_sear...原创 2014-11-02 15:54:45 · 89 阅读 · 0 评论 -
ElasticSearch 如何搜索
ES不仅仅存储文档,还索引内容以便可搜索。 每个域都被索引,可以查询,不光这些,在一个查询里,es可以使用所有的索引,以惊人的速度返回结果。 一个搜索可以:1)搜索具体字段,比如性别或者年龄,按照加入日期排序,跟sql一样。2)一个全文搜索,可以找到所有的匹配文档,按照相关性返回。3)两者结合。你需要了解三个主题:1)Mapping 数据...原创 2014-11-02 15:19:04 · 150 阅读 · 0 评论 -
ElasticSearch 如何索引
es如何知道哪个分片应该存储这个文档?当我们创建一个新的文档,es怎么知道它应该存在分片1还是2? 处理不是随机的,因为我们将来还需要检索这个文档,事实上,由一个非常简单的公式计算。shard = hash(routing) % number_of_primary_shardsrouting值是一个字符串,默认是文档的_id,但是也可以是其它值 这个解释了,为什么主...原创 2014-11-02 15:13:54 · 78 阅读 · 0 评论 -
ElasticSearch 快速请求
绑定多个请求在一个请求里,可以避免处理每个请求带来的网络负载问题。(这个技术算不上NB吧,基本都支持了。)如果你知道你需要检索多个文档,一次请求的速度很快,而不是一个接着一个文档获取。 mget API 期望一组docs,每个元素包含_index,_type,_id元数据你也可以指定_source参数来过滤字段。 GET /_mget{ "docs" :...原创 2014-11-02 15:05:22 · 92 阅读 · 0 评论 -
ElasticSearch 文档管理
es里的文档是不可改变的,我们不能改变它们。如果你想更新一个已经存在的文档,我们重新索引或者替换它,可以使用同样的API。 PUT /website/blog/123{ "title": "My first blog entry", "text": "I am starting to get the hang of this...", "date"...原创 2014-11-02 14:20:03 · 194 阅读 · 0 评论 -
ElasticSearch 节点管理
我们杀死的是主节点,一个集群必须有一个主节点才可以正常运转,所以第一个事情是:选举一个新的主节点,比如节点2.主分片1和2已经丢失,我们的索引无法正常运行因为失去了主分片,如果我们此时查看集群状况,我们会看到红色。幸运的,之前的主分片1和2都在其它机器上有备份,所以,新的主节点需要做的是:让这些失去的分片的备份晋升为主分片,这使得集群健康状态变为黄色,为什么是...原创 2014-11-01 16:38:36 · 239 阅读 · 0 评论 -
ElasticSearch 监控
es可以监控很多东西,最重要的是集群的健康状况,三个级别:红,黄,绿。 GET /_cluster/health 一个单个节点的集群,没有所以,返回的信息 { "cluster_name": "elasticsearch", "status": "green", "timed_out": ...原创 2014-11-01 16:28:53 · 141 阅读 · 0 评论 -
ElasticSearch Transaction Log
Transaction LogGuideScaling LuceneBuilding BlocksPartitioningReplicationTransaction Log正如前面提到过的,索引提交(commit)的开销实在太大,但是我们又必须通过提交操作来保证数据被可靠的持久化,如果拥有数据的节点突然崩溃的话,那么最后一次提交操作之后产生的数据...原创 2014-10-26 21:11:31 · 386 阅读 · 0 评论 -
Elasticsearch Partitioning
PartitioningGuideScaling LuceneBuilding BlocksPartitioningReplicationTransaction Log有2种通过将数据分区方式来scale搜索引擎: 基于文档(Document based partitioning)and 基于词条(Term based partitioning)....原创 2014-10-26 21:10:49 · 151 阅读 · 0 评论 -
Elasticsearch Replication
ReplicationGuideScaling LuceneBuilding BlocksPartitioningReplicationTransaction Log分布式系统的另外一方面就是复制(replication)了. 通过复制我们可以得到2个主要的好处:High Availability (HA高可用性). 如果一个节点挂了,另外...原创 2014-10-26 21:10:12 · 439 阅读 · 0 评论 -
Elasticsearch Java虚拟机配置详解
Elasticsearch Java虚拟机配置详解 引言:今天,事情终于发生了。Java6(Mustang),是2006年早些时候出来的,至今仍然应用在众多生产环境中,现在终于走到了尽头。已经没有什么理由阻止迁移到Java7(Dolphin)上了。这也促使我想写一篇关于在ElasticSearch上配置Java6和7的细微差异的博文。Elasticsearch对Jav...原创 2014-10-11 12:26:04 · 131 阅读 · 0 评论 -
Elasticsearch源码分析之二------索引过程源码概要分析
Elasticsearch源码分析之二------索引过程源码概要分析 索引逻辑简单分析,这里只是理清主要的脉络,一些细节方面以后的文章或会阐述。 假如通过java api来调用es的索引接口,先是构造成一个json串(es里表示为XContent,是对要处理的内容进行抽象),在IndexRequest里面指定要索引文档到那个索引库(index)、其类型(type)还有文...原创 2014-10-11 12:25:53 · 112 阅读 · 0 评论 -
ElasticSearch教程(5)——关于动态Mapping和Templates
ElasticSearch教程(5)——关于动态Mapping和Templates1. 类型判定ElasticSearch在创建index的时候是可以不指定schema的,那么它是怎么知道你使用的是什么类型呢?实际上它是通过给定document的json来判定的,例如,string的话是用引号引起来的,数字是光溜溜的,boolean类型是true或者false等等。这个规则非常的简单,...原创 2014-09-16 09:38:05 · 805 阅读 · 0 评论 -
ElasticSearch的Java Api基本操作入门指南
ElasticSearch的Java Api基本操作入门指南ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎框架。分布式是其最大的特点。安装比较简单,如果单机运行的话直接下载解压,在命令行下运行bin/elasticsearch就行了(win的dos和linux的窗口都行)。它能够通过http、restful、thrift等方式访问。不过今天我们看...原创 2014-09-16 09:37:45 · 1057 阅读 · 0 评论 -
ElasticSearch教程(3)——ElasticSearch的插件
ElasticSearch教程(3)——ElasticSearch的插件插件作为一种普遍使用的,用来增强原系统核心功能的机制,得到了广泛的使用,elasticsearch也不例外。1. 安装elasticsearch插件从0.90.2安装其实很简单,有三种方式,1.1 在确保你网络顺畅的情况下,执行如下格式的命令即可:plugin --install <org>/...原创 2014-09-15 13:33:18 · 278 阅读 · 0 评论 -
ElasticSearch教程(2)——ElasticSearch目录结构
ElasticSearch教程(2)——ElasticSearch目录结构看一下ElasticSearch目录结构。当我们下载一个新的ES压缩包并解压开的时候,我们可以看到下面有三个文件夹:文件夹作用bin运行ElasticSearch实例和管理插件的一些脚本config放的是两个配置文件:elasticsearch.yml和logging.ym...原创 2014-09-15 13:32:32 · 219 阅读 · 0 评论 -
ElasticSearch教程(1)——安装ES和开发环境准备
http://www.elasticsearch.cn/ 学习网址 ElasticSearch教程(1)——安装ES和开发环境准备这是ElasticSearch系列教程的第一篇——环境准备。1. 安装安装用个广告词说,就是so easy,你只需到http://www.elasticsearch.org/download/下载最新的安装包解压到某个目录就行了。当然,你需要提前...原创 2014-09-15 13:31:20 · 179 阅读 · 0 评论 -
Webmagic 一个网络爬虫工具包
webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。作者曾经进行过一年的垂直爬虫的开发,webmagic就是为了解决爬虫开发的一些重复劳动而产生的框架。web爬虫是一种技术,webmagic致力于将这种技术的实现成本降低,但是出于对资源提供者的尊重,...原创 2014-09-05 12:30:59 · 359 阅读 · 0 评论 -
solr中文搜索倒排索引和数据存储结构
传统的方式(正排索引)是从关键点出发,然后再通过关键点找到关键点代表的信息中能够满足搜索条件的特定信息,既通过KEY寻找VALUE。而Lucene的搜索则是采用了倒排索引的方式,即通过VALUE找KEY。而在中文全文搜索中VALUE就是我们要搜索的单词,存放所有单词的地方叫词典。KEY是文档标号列表(通过文档标号列表我们可以找到出现过要搜索单词VALUE的文档)正排索引从文档编号找词:...原创 2016-04-17 15:09:13 · 169 阅读 · 0 评论 -
SolrJ操作solr API
使用SolrJ操作Solr会比利用httpClient来操作Solr要简单。SolrJ是封装了httpClient方法,来操作solr的API的。SolrJ底层还是通过使用httpClient中的方法来完成Solr的操作。1、 首先,你需要添加如下jar包其中apache-solr-solrj-3.4.0.jar、slf4j-api-1.6.1.jar可以在下载的apache-so...原创 2016-04-17 15:06:53 · 119 阅读 · 0 评论