自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 elasticsearch——查询分词结果

查询索引某条记录某个字段实际的分词结果:GET /${index}/${type}/${id}/_termvectors?fields=${fields_name}

2020-08-20 16:56:52 1267

原创 elasticsearch——reindex部分数据复制

reindex复制索引数据时,最基础的是做全量复制,有些时候想要根据时间戳做增量复制,这种情况可以加搜索条件1.reindex部分数据POST _reindex{ "source": { "index": "index_1", "type": "documents", "query": { "term": { "group": "group1" } } }, "dest": { "index": "i

2020-06-23 14:46:42 2153

原创 elasticsearch——多个属性确定一个唯一键

es唯一键_id有512个字节限制,当需要有多个字段共同控制一个主键的时候,拼接起来很容易超过限制可以通过hash.hexdigest()生成唯一键,通过唯一键做数据更新,不会插入重复的记录from hashlib import md5_id = md5("{};{}".format("属性一","属性二").encode('utf-8')).hexdigest()...

2020-06-23 14:32:05 3073

原创 elasticsearch——跨集群数据迁移

网上有工具做数据迁移:https://github.com/medcl/esm可copy mapping ,copy setting等,操作方便目前发现的问题有:1.long型超过16位会精度丢失,数据中有此类型数据时要注意

2020-05-11 14:24:55 367 2

原创 elasticsearch——ES集群分片不平衡处理

在使用云上的一个ES集群的时候,发现搜索性能很差,查看分片情况,发现ES有12个节点,索引创建了10个分片,1个副本,最后20个分片全在其中3个节点上,分布不均衡,实际只消耗了3个节点的资源,所以性能很差,再次创建新的索引,发现仍然是这种情况,最后通过下面的命令查到集群reblance属性是noneGET _cluster/settings参考:https://www.jianshu.c...

2020-04-30 11:31:14 3719

原创 elasticsearch——设置索引只读

PUT index/_settings{ "index": { "blocks": { "read_only": "true" } }}

2020-04-30 11:24:20 1840 2

原创 elasticsearch——搜索条件一样,返回结果顺序不一样

现在遇到两种情况,分情况分析一下1.得分不同如果因为最后结果的得分不同,所以排序的时候有先后的话,需要加search_type参数/_search?search_type=dfs_query_then_fetch详情可以参考:https://www.jianshu.com/p/c7529b98993e2.得分相同当得分相同,各种排序条件相同的记录会随机排序,尤其是...

2020-02-24 15:24:07 2490 1

原创 elasticsearch--动态同义词

进行文档搜索时,有时候需要用到同义词搜索。我平时做简单搜索时,都是在代码测做分词,同义词做替换,然后拼写DSL搜索,但是碰到双向同义词和要求匹配度100%时,这种情况无法解决,所以需要在es测做同义词处理。动态同义词可以参考:https://blog.csdn.net/t_6666/article/details/56489275https://www.cnblogs.com...

2020-02-04 17:31:52 1213

原创 elasticsearch——upsert(类似于oracle中merge的方法)

实现有则更新,无则插入参数中增加doc_as_upsert属性例:{ '_index': INDEX_NAME, '_type': doc_type, '_id': doc['id'], '_op_type': 'update', 'doc': doc['doc'], 'doc_as_upsert': True}...

2019-12-12 10:33:08 561

原创 elasticsearch——字段截取

参考链接https://blog.csdn.net/u013613428/article/details/78135258可以通过/pattern/.matcher(text).replaceAll的方式来实现提取与转换

2019-11-27 11:15:27 3464

原创 elasticsearch——判断字段是否匹配上

有一个字段的匹配不做过滤来用,仅需要返回的时候有标识,其他逻辑在代码中处理,所以匹配怎么来返回呢?我现在用的两个方法都是很傻的,但是还没找到更好的办法1.script_field返回一个自己建的字段{ "query": { "match_all":{} }, "script_fields": { "test1": { "script": { ...

2019-11-27 11:06:10 589

原创 elasticsearch——嵌套聚合(日志分析)

1.十月每天各用户访问量{ "size": 0, "query": { "match_all":{} }, "aggs": { "group_time": { "date_histogram": { "field": "time", "interval": "1d", "time_zone": "+0...

2019-11-01 14:19:43 361

原创 python_分组函数

在做搜索员工的服务时,用户会输出英文名和工号,例如emma0012,这个时候使用jiaba分词不能把名字和工号分开,不能匹配不同的字段,所以在分词后使用分组函数特殊处理一下from itertools import groupbyword = 'emma0012haha'for k, g in groupby(word, key=lambda x: x.isdigit()): w...

2019-10-28 09:33:13 354

原创 elasticsearch——深度分页scroll

项目一开始使用scan做全量查询:documents = es.scan({"query": {"match_all": {}}}, size=500, raise_on_error=False,index="index")for docs in documents: yield [doc.get("_source") for doc in docs]后来发现使用scroll查...

2019-10-22 19:22:47 567

原创 python--获取一个词的所有排列方式

笨:name="董子敬"def test(arr, k): if k <= 1: return arr res = [] for i,v in enumerate(arr): temp = list.copy(arr) del (temp[i]) res += [v + j for j in te...

2019-09-18 11:12:53 270

原创 elasticsearch——nested字段排序

{ "field.intimacy": { "order": "desc", "mode": "min", "nested": { "path": "field", "filter": { ...

2019-09-16 08:39:22 2440

原创 英文连续输入分词方法

wordninja$ python>>> import wordninja>>> wordninja.split('derekanderson')['derek', 'anderson']>>> wordninja.split('imateapot')['im', 'a', 'teapot']>>> word...

2019-08-02 17:25:07 622

原创 elasticsearch——精确匹配大字段wildcard性能慢问题

经历1.使用逗号分词+wildcard,发现性能很慢2.将内容截断,keyword字段32766+wildcard,发现性能仍然很慢解决a.发现是wildcard的问题,但是想实现部分精确匹配,最后使用match_phrase+standard分词,基本能实现精确匹配,而且效率显著提高参考:http://www.luyixian.cn/news_show_4930.aspx ...

2019-07-12 09:44:33 9824

原创 elasticsearch——取几个搜索的最大得分为得分

1.下面写的第二种方法是我以前使用的,后来觉得太冗余了就一直寻找更好的方式,最后发现了dis_max方法,能更好的实现取最大得分为得分:{ "query": { "dis_max": { "queries": [ { "constant_score": { "boost": 700, ...

2019-07-01 11:40:42 2676

原创 elasticsearch字段值等于某字符串时排序靠前【高并发问题】

使用script{ "query": { "term": { "name": "刘" } }, "sort": [ { "_script": { "type": "number", "script": "doc['type.keyword'].value=='male'?0:1", "...

2019-06-12 21:33:38 4790

原创 elsastisearch添加分词方法

需要有分隔词的分词.首先关闭索引,否则报错 Can't update non dynamic settings。POST索引名/_closePUT 索引名/_settings{ "settings": { "analysis": { "analyzer": { "my_comma": { "type": "pattern",...

2019-05-08 14:18:27 837

原创 分词方法选择很重要

今天不太忙,就自我检讨一下,平台上有ik_smart,whitespace,standard的分词方法,每次有人字段有中文的时候我都让他们用ik_smart分词,后来用户经常有那种一个名称中缺几个字那样的查询,发现是ik_smart分词总会分不好就直接查不出来,我就建议用户用ik_max_word,因为会分的比较散,然后就总会查出来,后来字段里有英文和数字的时候分的十分的散,怎么都没办法了,后来还...

2019-04-10 17:19:55 150 2

原创 相同内容但是得分不同——elasticsearch

非精确匹配的时候,发现字段值相同的内容的得分竟然不同,神奇!查询发现解决办法:https://www.jianshu.com/p/c7529b98993eGET索引名/_search?search_type=dfs_query_then_fetch...

2019-04-10 16:47:43 605

原创 指定搜索词的分词方法——elasticsearch

{ "query": { "bool": { "should": [ { "match": { "name": { "analyzer": "ik_smart", "query": "haha" } } ...

2019-04-10 16:32:19 3822

转载 分页查询大于一万条报错——elasticsearch

当用elasticsearch进行深度分页查询时的size-from大于10000的时候,就会报错“”,官方推荐是scroll查询返回结果是无序的不满足业务需求,所以还是通过设置最大返回结果数来达到我们的目的然后我们可以通过以下方法设置:第一种:curl -XPUT http://127.0.0.1:9200/_settings -d '{ "index" : { "max_resul...

2019-04-10 16:11:54 3515

原创 杂——elasticsearch

平时一般都用kibana,一般的搜索都有联想,然后有几个不给联想的但经常用的,记录一下最爱用的文档:https://elasticsearch-py.readthedocs.io/en/master/api.html#indices1.分词POST 索引名/_analyze{ "analyzer": "standard", "text": ["要分的词"]}2.索引复...

2019-04-02 10:11:33 234

原创 正则表达式查询——elasticsearch

使用默认分词,插入两条{ "message":"我是姐姐", "id":1}{ "message":"我是姐姐的姐姐", "id":2}查询出现两个姐姐的记录{ "query":{ "regexp":{ "message.keyword":{ "value":"(.*姐姐.*){3}" } } ...

2019-03-28 11:25:36 890 1

原创 精确匹配两个词——elasticsearch

使用默认分词,插入两条{ "No2":"我是韩国第一美的小姐姐", "id":1}{ "No2":"我是中国第一美的小姐姐", "id":2}要求通过查“中国”,“美”,只返回第二条记录,有以下三种方法:1.使用match_phrase{ "query": { "bool": { "must": [ { ...

2019-03-20 14:29:43 1505

原创 python线程开启的线程,有些没运行,有些中断

循环调用某接口,发现开启的线程一些没运行,一些中断了,原来是没加锁,加锁之后OK了(使用join方法的作用是调用线程等待该线程完成后,才能继续用下运行,相当于单线程了)# coding:utf-8import threadingimport timedef action(arg): try: threadLock.acquire() ......

2019-02-15 17:38:04 1430

原创 kibana完成日志分析——elasticsearch

一.安装部署(详见kibana安装部署)1.下载地址:https://www.elastic.co/downloads/kibana2.修改配置文件 /config/kibana.yml,配置elasticsearch_url3.启动CD c:\kibana-6.0.0-windows-x86_64.\bin\kibana二.日志存储在接口代码中,将请求信息存入es...

2019-01-31 10:29:46 1626

原创 minimum_should_match做匹配度过滤——elasticsearch

minimum_should_match:当operator参数设置为or时,该参数用来控制应该匹配的分词的最少数量;{"query":{        "match":{           "字段名":{              "query":"查询内容",            "operator":"or",            "

2019-01-04 16:54:24 7606

原创 实现and与or查询——elasticsearch

{ "query": { "bool": { "must": [{ "match_phrase": { "name": "a" } }], "should": [{ "match_phrase": { "city": "b" }

2018-12-15 14:35:57 22955 12

原创 地理位置查询——elasticsearch

1.含地理位置索引创建https://es.xiaoleilu.com/310_Geopoints/20_Geopoints.html2.按经纬度距离排序https://es.xiaoleilu.com/310_Geopoints/50_Sorting_by_distance.html

2018-12-13 11:08:05 805

原创 git常用命令

使用eclipse时,一直是通过git插件做与git的pull,push现在不用eclipse了,IDE用起来不太方便,所以现在使用命令行,记录下常用命令1.强制更新本地git fetch --allgit reset --hard origin/mastergit pull2.切换本地分支git branchgit checkout master#如果远程分支...

2018-11-16 16:21:15 125

原创 python接口获取上传的文件,动态生成文件并下载

一直在写接收JSON参数的接口,这次写从数据的参数,记录下1.接收上传的文件user_id = request.form.get("user_id", "") # text参数获取file = request.files['files'] # 文件参数获取sheet = pd.read_excel(file,header=0) field=sheet.columns # 获取表头...

2018-11-16 16:14:49 2475

原创 gitbook使用总结

步骤:1.安装nodejs2.安装gitbook3.命令:gitbook init(我手动配置环境变量才OK的)4.命令:gitbook install (安装配置的插件)5.命令:gitbook serve (启动)6.localhost:4000查看启动后的文档参考地址: https://blog.csdn.net/lu_embedded/article/details/81...

2018-11-16 16:00:24 234

原创 jieba分词 自定义词典热加载——elasticsearch

信息安全问题不贴代码1.jieba插件https://github.com/hongfuli/elasticsearch-analysis-jieba2.ik插件https://github.com/medcl/elasticsearch-analysis-ik 参考ik分词中的热加载功能修改jieba分词插件的源码步骤:1.编写线程类,ik中是读服务器上的文件,可修改为读取本...

2018-09-30 16:11:10 2277

原创 python装饰器的几种使用

为防信息安全问题不沾代码1.为函数增加功能解析:可以在函数不修改代码的前提下增加额外功能参考博客:https://www.cnblogs.com/cicaday/p/python-decorator.html比如当要给每个函数增加日志打印方法,普通代码可扩展性很差,而装饰器则很好的解决这个问题,修改时只需在装饰器代码中修改一次。注:Flask的路由装饰器可参考:https://...

2018-09-30 09:49:35 127

原创 统计学习方法——实践

看书结合python实现的博客学习: 李航《统计学习方法》第二章——用Python实现感知器模型(MNIST数据集) 李航《统计学习方法》第三章——用Python实现KNN算法(MNIST数据集) 李航《统计学习方法》第四章——用Python实现朴素贝叶斯分类器(MNIST数据集) 李航《统计学习方法》第五章——用Python实现决策树(MNIST数据集) ...

2018-09-13 15:35:30 231

原创 python数据分析numpy,matplotlib,scipy,pandas,scikit-learn

1.python数据分析概述    1.数据分析的含义与目标        统计分析方法,提取有用的信息    2.Python与数据分析:见解,开发效率高,运行速度慢,胶水特性    3.python数据分析大家庭        numpy:数据结构基础        scipy:强大的科学计算方法(矩阵分析,信号分析,数理分析)        matplotlib:丰富的可视化套...

2018-08-30 16:58:24 2665

android UI

jiushi yigeanzhuokaifajiemiandebijileisidedongxi

2015-03-27

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除