搜索引擎
马超的博客
Stay Hungry, Stay Foolish
展开
-
Elasticsearch使用script实现时间差值计算统计数据量
elasticsearch duery dsl做时间差值计算一、SQL<!--sql转为dsl查询-->SELECT * FROM news where pubtime>='2020-03-23 00:00:00' and pubtime<'2020-03-24 00:00:00' and source="TRS" and (crawle_time -pubtime...原创 2020-03-24 17:01:36 · 7179 阅读 · 1 评论 -
优化互动网络推荐图遍历规则-图加载速度进入毫秒级别
需要解决的问题:局部图谱规模达到百万级别之后多层关系遍历出现性能问题;CYPHER使用CONTIANS关键字检索性能太差。取得的成果:通过下述方式进行优化之后,关系分析查询耗时从原来的30s左右,降低到ms级别;关键字检索耗时降低到ms级,已经可以满足业务需求。互动网络分析优化一、优化互动网络加载局部图谱数据规模百万级别,总体数据规模达到亿级别原始查询<!--耗时:都在3...原创 2020-01-10 17:54:15 · 646 阅读 · 0 评论 -
Elasticsearch检索优化-集群和索引级别的一些参数优化
一、背景说明六台服务器:内存-32G,CPU-8,硬盘200G六节点(elasticsearch版本-5.6.3):角色配置-node.master: true node.data: true,内存16G (机器剩余内存也部署了一些其它程序)集群整体情况:106-indices 563-shards 317,749,447-docs 834.63GB二、优化1、节点独占服务器(每台服务器...原创 2019-11-07 18:50:17 · 881 阅读 · 0 评论 -
Elasticsearch集群安装部署过程中遇到的问题
一、问题:[2017-01-12T15:55:55,433][INFO ][o.e.b.BootstrapCheck ] [SfD5sIh] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checksERROR: bootstrap checks failedm...原创 2019-10-24 11:55:46 · 1589 阅读 · 0 评论 -
ES-QUERY-DSL的使用-用户配置多任务开启合并查询和二次过滤航班信息
查询航班信息时,同一用户可以配置多个任务进行航班信息的查询。配置的一个任务包括区域内航班查询、根据航班号进行查询,也可多个条件任意组合查询航班信息。当对多个任务的数据进行合并进行翻页,并且对于合并的数据需要进一步过滤查询时,多个任务的查询就必须合并到一起进行查询。为了解决这个问题,就需要使用嵌套的BOOL查询。elasticsearch的QUERY DSL的实现方式如下:第一层bool中...原创 2019-10-15 18:22:00 · 343 阅读 · 0 评论 -
Elasticsearch负载均衡策略发生死锁解决方案
Elasticsearch负载均衡策略发生死锁解决方案一、问题描述与解决方案1、问题产生的背景2、解决方案二、集群分片分配时的相关设置(译文)集群分片分配分片分配设置分片重新平衡分配设置启发式分片平衡分配一、问题描述与解决方案1、问题产生的背景es集群版本:elasticsearch-5.5.3HEAD插件索引集群显示(red/yellow)。四个节点的集群,索引有大量写入,同时有大量删除...翻译 2019-06-13 21:19:16 · 6491 阅读 · 0 评论 -
Elasticsearch解决数据版本冲突问题的策略
Elasticsearch解决数据版本冲突问题的策略一、主要请求流程(索引和删除等操作的基本流程)二、数据版本冲突的原因1、refresh的执行2、文档发生更改三、结论一、主要请求流程(索引和删除等操作的基本流程)1、集群中某节点接收到请求。2、请求转发到文档的主分片。3、在主分片上执行操作,同时将操作请求并行转发到其它节点。4、事务日志(translog )在主分片和复制分片上同步,这...原创 2019-06-06 14:32:07 · 5075 阅读 · 0 评论 -
Elasticsearch索引数据大批量删除接口优化
Elaticsearch索引数据大批量删除接口优化一、需求二、索引数据删除接口2.1使用到的elasticsearch核心接口2.2封装删除脚本2.3封装接口实现三、Lucene分段处理的优化3.1、refersh3.2、flush3.3、合并策略3.4、存储限流3.5、存储3.6、使用postman设置索引级配置四、删除接口运行效率统计分析一、需求每隔一段时间,删除N天前的数据,索引只保留最...原创 2019-06-05 19:50:47 · 3101 阅读 · 5 评论 -
NEO4J全文检索架构
NEO4J全文检索架构一、有大量存量数据(亿级以上)(并长期有增量数据进入)二、无大量存量数据或者少量存量数据(或全部为增量数据)三、架构方案选择优先级以下方案,是根据实践总结的基于NEO4J的全文检索解决方案,各有优缺点,仅供参考。以下总结全部基于neo4j-3.4.9版本,至于升级到3.5.x之后的版本索引有了大幅提升,还未做测试。一、有大量存量数据(亿级以上)(并长期有增量数据进入)...原创 2019-04-24 20:39:02 · 1665 阅读 · 0 评论 -
NEO4J亿级数据全文索引构建优化
NEO4J亿级数据全文索引构建优化一、数据量规模(亿级)二、构建索引的方式三、构建索引发生的异常四、全文索引代码优化1、Java.lang.OutOfMemoryError2、访问数据库时3、优化方案4、优化代码5、执行效率测试如果使用基于NEO4J的全文检索作为图谱的主要入口,那么做好图谱搜索引擎的优化是非常关键的。一、数据量规模(亿级)count(relationships):500...原创 2019-04-24 12:59:43 · 3052 阅读 · 6 评论 -
NEO4J中文分词全文索引自动更新解决方案
NEO4J中文分词全文索引更新解决方案一、样例数据二、英文与中文全文索引差别1、创建NEO4J默认索引2、删除索引3、创建支持中文分词的索引三、APOC自带英文全文索引过程(可自动更新索引)1、添加全文索引2、新增节点与属性3、检索四、自定义中文分词全文索引插件(自动更新索引不成功)1、添加全文索引2、新增节点与属性3、检索五、标签交叉检索六、自定义中文分词插件(自动更新索引失败单独更新节点索引)...原创 2019-04-24 09:34:28 · 1592 阅读 · 0 评论 -
图谱分析引擎跨服务器迁移
图谱分析引擎跨服务器迁移一、需求二、脚本实现方式1、压缩2、传输3、解压三、备注一、需求将服务器A的图库数据/索引/配置完整迁移到B服务器。二、脚本实现方式1、压缩在压缩时注意忽略不必要的数据文件,优化压缩/传输/解压效率。#!/usr/bin/env bash# 图谱引擎压缩nohup zip -r scj-GRAPH-ENGINE.zip neo4j-3.4.9 -x "./n...原创 2019-04-28 10:23:41 · 407 阅读 · 0 评论 -
基于NEO4J的高级检索功能
基于NEO4J的高级检索一、需求二、创建索引1、索引自动更新配置2、执行带有索引自动更新配置的过程三、查询索引1、LUCENE查询语法2、实现高级检索的核心:LUCENE QUERY语句拼接四、总结一、需求基于NEO4J实现类似万方的高级检索功能 万方链接二、创建索引1、索引自动更新配置// neo4j.conf设置此项会影响性能 开启自动更新索引(测试时数值类型字段在全文检索时无法索...原创 2019-04-18 13:06:24 · 3513 阅读 · 1 评论