搜索引擎
文章平均质量分 56
Windows10之家
不积跬步,无以至千里
展开
-
elasticsearch analysis思维导图
analysis原创 2020-12-04 14:13:19 · 228 阅读 · 0 评论 -
手动编译并本地运行Elasticsearch 6.8
下载源码参考这里:编译5.6.2导入idea注意这个版本不需要执行gradlew idea,直接用idea导入即可,这个很人性化,点赞。打包gradlew -p distribution/archives/tar assemble --parallel解释一下:用下面这个命令是生成各种格式的包,比如windows\linux\unix等。./gradlew assemble --parallel用我推荐的方式打出指定包格式,和指定位置。–parallel 是并行执行,效率大大提高d原创 2020-05-12 10:03:47 · 766 阅读 · 0 评论 -
java对象转mapping快捷代码
一、java对象转mapping对象原则:1.对于数值类型,越小越好。2.精确查询,使用keyword3.模糊查询使用text4.时间可以用long,方便范围查找。5.es6.0以上支持数值快速查找。原理就是kd树二、粗犷的转换代码,能省不少无谓的时间,个别字段评估后修改。/** * "productSkuId": { * "type": "l...原创 2020-04-29 18:15:14 · 530 阅读 · 0 评论 -
记一次ES查询性能优化思路
现状:es集群有很多索引,主要索引有routing 耗时平均85毫秒。问有没有优化空间。思路:首先得找到85毫秒是哪些步骤分摊的?然后一一查看是否有优化空间。工具:Profile Api 很好的支持查看query、collect、rewrite的耗时。took 耗时是指searchtransportaction 开始execute到response创建为止。中间包含以下步骤。1.re...原创 2019-10-10 10:52:27 · 1381 阅读 · 0 评论 -
elasticsearch index模块源码分析
1.TransportSingleItemBulkWriteAction的doExecute方法处,构建单个item请求参数,该类已过期,但是5.x版本request还在使用。 @Override protected void doExecute(Task task, final Request request, final ActionListener<Response&g...原创 2019-09-20 14:38:50 · 291 阅读 · 0 评论 -
fielddata和doc_values的关系。
1.doc_values类似于正排索引。2.Most fields can use index-time, on-disk doc_values for this data access pattern, but text fields do not support doc_values.大部分字段能够支持doc_values,但是text不支持,所以切分后的正排索引需要存储在内存中,这便是f...原创 2019-09-20 11:04:05 · 388 阅读 · 0 评论 -
Too many dynamic script compilations within, max: [75/5m]问题处理
1.定位问题:a.字面意思是,ElasticSearch5分钟内执行脚本编译超过75个,编译太多而拒绝编译。编译是非常耗时的,这是ES的自我保护功能。b.我的操作是动态评分通过script实现去了。{ "query": { "function_score": { "functions": [ { ...原创 2019-09-20 10:01:41 · 7916 阅读 · 0 评论 -
aggregation源码分析
a.SearchService.executeQueryPhase()这行执行buildaggrationfinal SearchContext context = createAndPutContext(request);b.SearchService.parseSource()方法构建AggregatorFactories,以AvgAggregator为例,它是实现了BucketColl...原创 2019-09-16 18:05:38 · 545 阅读 · 0 评论 -
Elasticsearch缓存源码分析
1.NodeQueryCache:a.IndicesService类里的loadOrExecuteQueryPhase方法判断是否可以缓存,可以缓存的分支执行loadIntoContext方法。 /** * Try to load the query results from the cache or execute the query phase directly if t...原创 2019-09-12 16:12:28 · 529 阅读 · 0 评论 -
Elasticsearch 重要环境配置
ES重要配置:<1> heap内存设置: 1.最好不要大于32G,否则没法使用指针压缩。 2.es的内存用在node缓存上,shard是单独实例,所以内存各一半比较好。具体再分析场景。 3.elasticsearch cache内存设置: a.NodeQueryCache default:10% heap b.ShardQequestCache default:1% h...原创 2019-09-12 11:31:45 · 264 阅读 · 0 评论 -
elasticsearch search模块源码分析
基于版本:5.6.2增删改查操作只对单个文档进行处理,通常由 _index, _type, 和 _id三元组来确定唯一文档。但搜索需要一种更复杂的模型,因为不知道查询会命中哪些文档。一个搜索请求必须询问指定索引的所有分片中的某个副本来进行匹配。假设一个索引有5个主分片,1个副本分片,共10个分片,一次搜索请求会由5个分片来共同完成,他们有可能是主分片,也可能是副分片。也就是说,一次搜索请求只会命...原创 2019-09-11 12:21:08 · 955 阅读 · 0 评论 -
elasticsearc分页源码分析
1.from + size 浅分页:"浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询。其中,from定义了目标数据的偏移值,size定义当前返回的数目。默认from为0,size为10,即所有的查询默认仅仅返回前10条数据。在这里有必要了解一下from/size的原理:因为es是基于分片的...原创 2019-09-09 14:33:27 · 255 阅读 · 0 评论 -
Elasticsearch中用到的第三方工具包详解
1.High Performance Primitive Collections for Java2.Injector:java guice原创 2019-09-05 15:48:53 · 1033 阅读 · 0 评论 -
怎样量化评价搜索引擎的结果质量
怎样量化评价搜索引擎的结果质量搜索质量评估是搜索技术研究的基础性工作,也是核心工作之一。评价(Metrics)在搜索技术研发中扮演着重要角色,以至于任何一种新方法与他们的评价方式是融为一体的。搜索引擎结果的好坏与否,体现在业界所称的在相关性(Relevance)上。相关性的定义包括狭义和广义两方面,狭义的解释是:检索结果和用户查询的相关程度。而从广义的层面,相关性可以理解为为用户查询的综合满意...转载 2019-09-02 10:15:47 · 1358 阅读 · 0 评论 -
Elasticsearch排序以及自定义评分的所有方法
1.elasticsearch相关性评分,默认使用lucene内置评分系统,公式大致如下:lucene的评分机制 https://www.cnblogs.com/yjf512/p/4860134.html2.elasticsearch5.0以下支持搜索前评分,具体位置忘记了。//todo现在推荐在查询的时候评分。3.查询时候评分有哪些方式:1.term boost2.functi...原创 2019-08-29 20:30:42 · 1983 阅读 · 0 评论 -
Elasticsearch的增删改查
1.建立索引put http://localhost:9200/my_index{ "settings": { "number_of_shards": 5, "number_of_replicas": 2 }}2.设置mappingput http://localhost:9200/my_index{ "mapping":{ "t...原创 2019-08-16 16:52:24 · 115 阅读 · 0 评论 -
Idea2019 手动编译并本地运行Elasticsearch5.6.2
idea手动编译Elasticsearch5.6.2编译elasticsearch5.6.2下载源码编译代码错误经验(按照时间顺序)编译elasticsearch5.6.2第一次编译elasticsearch,遇到的问题不少,特此记录.下载源码下载对应版本的代码zip包:编译代码1.先参照官方指导:https://github.com/elastic/elasticsearch/t...原创 2019-08-15 10:25:16 · 835 阅读 · 0 评论