2012年12月6日
摘要: ES检索篇主要是对索引中的数据进行查询的一个过程:1.IndexReader打开索引文件,读取并打开指向索引文件的流。2.用户输入查询语句3.将查询语句转换为查询对象Query对象树4.构造Weight对象树,用于计算词的权重Term Weight,也即计算打分公式中与仅与搜索语句相关与文档无关的部分(红色部分)。5.构造Scorer对象树,用于计算打分(TermScorer.score())。6.在构造Scorer对象树的过程中,其叶子节点的TermScorer会将词典和倒排表从索引中读出来。7.构造SumScorer对象树,其是为了方便合并倒排表对Scorer对象树的从新组织,它的叶子节. 阅读全文
posted @ 2012-12-06 22:02 Mr.HiFiy 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: ES索引优化篇主要从两个方面解决问题,一是索引数据过程;二是检索过程。索引数据过程我在上面几篇文章中有提到怎么创建索引和导入数据,但是大家可能会遇到索引数据比较慢的过程。其实明白索引的原理就可以有针对性的进行优化。ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间的数据平衡。所以从上我可以通过索引的settings进行第一优化: "index.translog.flush_threshold_ops": "100000" "index.refresh_interval": &q 阅读全文
posted @ 2012-12-06 21:58 Mr.HiFiy 阅读(5838) 评论(1) 推荐(2) 编辑
摘要: Es Mapping篇主要是讲解Mapping的一些相关配置与需要注意的地方,说到Mapping大家可能觉得有些不解,其实我大体上可以将Es 理解为一个数据管理平台,那么index 当然就是库了,type可以理解为表,mapping可以理解为表的结构和相关设置的信息(当然mapping有更大范围的意思)。Mapping的作用域也是从cluster、node、index、type。curl -XPOST localhost:9200/wf_mds_org(索引名称) -d '{ "settings": { "number_of_shards": 1 阅读全文
posted @ 2012-12-06 21:57 Mr.HiFiy 阅读(5893) 评论(3) 推荐(1) 编辑
摘要: Es索引的我们可以理解为数据入库的一个过程。我们知道Es是基于Lucene框架的一个分布式检索平台。索引的同样也是基于Lucene创建的,只不过在其上层做了一些封闭。 Es的索引过程比较通用的大体上有两种方式,其一是得用自身Rvier从数据库中拉数据,当然现在已经有了很多相关插件,Mysql、MDB等数据库。这种方式可以做到近时实索引,因为River是定时从数据库拉数据与索引数据进行比对。这种方式经较适合数据有周期的更新。 下面以Mysql-River plugins为例:1、 安装Mysql-River 插件bin/plugin -install /path/to/plugin/river- 阅读全文
posted @ 2012-12-06 21:56 Mr.HiFiy 阅读(3882) 评论(0) 推荐(0) 编辑
摘要: Elasticsearch在Linux系统环境中运行,需要对Linux系统进行一系列调优,这样可以提高ElasticSearch的检索效率。主要的需要调优的参数如下:1. Linux调整文件数/etc/security/limits.conf在文件中增加* soft nofile 8192* hard nofile 20480* - memlock unlimited在登陆中添加下面命令行/etc/pam.d/loginsession required /lib64/security/pam_limits.so(在不同系统中文件位置不同)2. 关闭文件的更新时间/etc/fstab在文件中添加 阅读全文
posted @ 2012-12-06 08:19 Mr.HiFiy 阅读(1769) 评论(0) 推荐(0) 编辑
摘要: ElasticSearch安装好后我们需要对ElasticSearch的Config进行一系列配置,具体如下:cluster.name: rmscloud集群名称node.name: "rcnode21"节点名称node.tag: "tag21"节点标签node.data: true节点是否存储数据index.number_of_shards: 5索引分片数index.number_of_replicas: 1索引副本数path.data: /data/elasticsearch/data数据目录存放位置path.logs: /data/elastics 阅读全文
posted @ 2012-12-06 08:16 Mr.HiFiy 阅读(2180) 评论(0) 推荐(0) 编辑