- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 ElasticSearch源码分析之二:索引过程源码概要分析
elasticsearch的索引逻辑简单分析,这里只是理清主要的脉络,一些细节方面以后的文章或会阐述。假如通过java api来调用es的索引接口,先是构造成一个json串(es里表示为XContent,是对要处理的内容进行抽象),在IndexRequest里面指定要索引文档到那个索引库(index)、其类型(type)还有文档的id,如果没有指定文档的id,es会通过UUID工具自动生成一个
2015-09-22 14:01:10 807
转载 ElasticSearch源码分析之一:使用Guice进行依赖注入与模块化系统
1. 使用Guice进行依赖注入与模块化系统elasticsearch使用google开源的依赖注入框架guice,这个项目号称比spring快100倍,具体性能没有测试过,不过由于其代码比较简洁,比spring快很有可能,是不是快那么多就不知道了。先介绍下guice的基本使用方法。elasticsearch是直接把guice的源码放到自己的包内(es把很多开源项目的代码都直接集成到自
2015-09-22 13:51:07 1739
转载 ElasticSearch的虚拟机VM配置
引言:今天,事情终于发生了。Java6(Mustang),是2006年早些时候出来的,至今仍然应用在众多生产环境中,现在终于走到了尽头。已经没有什么理由阻止迁移到Java7(Dolphin)上了。这也促使我想写一篇关于在ElasticSearch上配置Java6和7的细微差异的博文。Elasticsearch对Java虚拟机进行了预先的配置。通常情况下,因为这些配置的选择还是很谨慎的,
2015-09-22 13:44:23 3412
原创 ElasticSearch线程池配置
一个Elasticsearch节点会有多个线程池,但重要的是下面四个: 索引(index):主要是索引数据和删除数据操作(默认是cached类型) 搜索(search):主要是获取,统计和搜索操作(默认是cached类型) 批量操作(bulk):主要是对索引的批量操作(默认是cached类型) 更新(refresh):主要是更新操作(默认是cached类型)
2015-09-22 13:41:09 1519
原创 ElasticSearch分片分布规则配置
分片分布是把索引分片分布到节点的过程。这个操作会在初次启动集群,副本分配,负载均衡,或增加删除节点时进行。
2015-09-22 13:38:23 6634
原创 ElasticSearch的Java API
1.与ES服务集群交互方式可以通过两种方式来连接到elasticsearch(简称es)集群,第一种是通过在你的程序中创建一个嵌入es节点(Node),使之成为es集群的一部分,然后通过这个节点来与es集群通信。第二种方式是用TransportClient这个接口和es集群通信。1.1 Node方式创建嵌入节点的方式如下: import staticorg.elast
2015-09-22 13:19:15 16248
原创 ElasticSearch模块介绍
ElasticSearch包含模块由集群管理Cluster、分片管理Shards、副本管理Replicas、恢复管理Recovery、数据源管理River、持久化存储管理Gateway、节点自动发现管理Discovery.zen、交互模块Transport。Cluster代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的
2015-09-22 11:59:28 1429
原创 client.transport.sniff的使用方法
通过TransportClient这个接口,我们可以不启动节点就可以和es集群进行通信,它需要指定es集群中其中一台或多台机的ip地址和端口,例子如下:Client client = new TransportClient() .addTransportAddress(newInetSocketTransportAddress("host1", 9300))
2015-09-21 18:43:44 14730
转载 Scaling Lucene
怎样在Lucene之上构建一个分布式、高度伸缩、接近实时的搜索引擎呢?让我们回顾一下在搜索引擎(基于lucene)伸缩性这条路上都做了那些尝试,并且elasticsearch是如何尝试并去解决这些挑战的。首先我们了解下最基础的理论知识building blocks (这些理论基础是构建分布式近实时搜索引擎的基础)。 接着我们研究一下到底哪种才是最佳的分区策略partitioning (
2015-09-21 17:37:57 471
转载 ElasticSearch简介
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。 我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSO
2015-09-21 14:44:04 742
转载 Python 3.5发布:新增模块,性能优化,对开发者更友好
【转载】以作备份Python 3.5.0在9月13号正式发布,与3.4相比,有哪些让人期待的新特性呢?PEP441,优化Python对zip压缩包的支持。从2.6版本开始,Python支持将文件或zip形式的压缩包作为脚本执行,对于有必要作为一个文件发布又复杂到要分模块管理的应用来说,这个功能很实用。但是这个功能却鲜有人知,原因之一是当时没有很好地宣传,只在What’s N
2015-09-21 14:40:14 882
原创 es配置文件详细说明
提示:配置项需顶行头写集群配置# 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.# es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。# cluster.name可以确定你的集群名称,当你的el
2015-09-18 16:41:53 8384
转载 倒排索引
倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
2015-09-18 16:21:24 616
转载 搜索引擎原理
【转自】百度百科 原文地址:http://baike.baidu.com/view/3492159.htm搜索引擎,通常指的是收集了万维网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排
2015-09-18 15:51:15 930
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人