随笔分类 -  elasticsearch

摘要:示例: query = { "query": { "bool": { "must": [ {"term": {"color": "red"}} ], #当must存在的时候,should中的条件是可有可无的,就是must条件满足就行,should的一个都不用满足也可以 #当must不存在的时候,sh 阅读全文
posted @ 2020-12-22 19:06 阿布_alone 阅读(3079) 评论(1) 推荐(2) 编辑
摘要:一.方法一 def update_data_batch(self,actions): """ 批量更新数据 :param actions: :return: """ item_list=[] for data in actions: dic = { "_index": self.index, "_t 阅读全文
posted @ 2020-06-29 23:37 阿布_alone 阅读(7952) 评论(0) 推荐(0) 编辑
摘要:代码: import re import datetime from pyspark.sql import SparkSession from pyspark import SparkContext from elasticsearch import Elasticsearch spark=Spar 阅读全文
posted @ 2020-06-14 15:59 阿布_alone 阅读(886) 评论(0) 推荐(0) 编辑
摘要:一.为mapping增加字段,但是新增的字段之前数据已经写进索引了,所以,要从新索引 post 127.0.0.1/index/_mapping { "properties":{ "name":{ "type":"keyword" } } } 二.重新索引数据 POST 127.0.0.1/inde 阅读全文
posted @ 2020-06-10 23:52 阿布_alone 阅读(5098) 评论(0) 推荐(0) 编辑
摘要:前言 当索引一个文档的时候,文档会被存储到一个主分片中。那么,elasticsearch如何知道一个文档应该存放到哪个分片中呢? 首先这肯定不是随机的,否则在检索文档时就不知道该从哪去寻找它了。实际上这个过程是根据下面公式决定的: shard = hash(routing) % number_of_ 阅读全文
posted @ 2020-05-31 23:49 阿布_alone 阅读(2078) 评论(0) 推荐(0) 编辑
摘要:应用背景:1、当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex。 2、当数据的mapping需要修改,但是大量的数据已经导入到索引中了,重新导入数据到新的索引太耗时;但是在ES中,一个字段的mapping在定义并且导入 阅读全文
posted @ 2020-05-31 23:13 阿布_alone 阅读(2073) 评论(0) 推荐(0) 编辑
摘要:在ES中可以为index设置别名,通过别名对index进行操作也可以对多个index设置相同别名, 表示在进行query操作时对多有指定的index进行查询, 但此时不能进行get和put操作 #获取所有别名 GET _cat/aliases?v #获取_index_name模式内所有指定别名为_a 阅读全文
posted @ 2020-05-29 23:55 阿布_alone 阅读(470) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch的CURD、复杂查询、聚合函数、映射mappings 基本增删改查(CURD) 操作中注意:1.当执行PUT命令时,如果数据不存在,则新增该条数据,如果数据存在则修改该条数据。 2.PUT命令,在做修改操作时,如果未指定其他的属性,则按照指定的属性进行修改操作。 3.POS 阅读全文
posted @ 2020-05-17 22:47 阿布_alone 阅读(826) 评论(0) 推荐(0) 编辑
摘要:别名解决的问题 在运行的集群中可以从一个索引切换到另一个索引 可以给多个索引进行分组 可以与路由搭配使用 别名的相关操作 准备数据阶段 PUT l1/doc/1 { "title":"我想要睡你" } PUT l2/doc/1 { "title":"你却拿我当兄弟" } PUT l3/doc/1 { 阅读全文
posted @ 2020-05-17 22:18 阿布_alone 阅读(2435) 评论(0) 推荐(0) 编辑
摘要:一.关于别名的操作 es.indices.put_alias,为一个或多个索引创建别名,查询多个索引的时候,可以使用这个别名 print(es.indices.put_alias(index='p3', name='p3_alias')) # 为单个索引创建别名 print(es.indices.p 阅读全文
posted @ 2020-05-17 21:08 阿布_alone 阅读(4232) 评论(0) 推荐(0) 编辑
摘要:1. postman 请求elasticsearch 返回指定字段 1.直接在请求体当中,json 数据,对应的是一个列表 { "_source":['title','id','desc'], "from":10, "size":100,} 至于from和size是浅分页 2. 或者这样 { "_s 阅读全文
posted @ 2020-05-15 23:46 阿布_alone 阅读(35690) 评论(0) 推荐(1) 编辑
摘要:这里以将Apache的日志写入到ElasticSearch为例,来演示一下如何使用Python将Spark数据导入到ES中。 实际工作中,由于数据与使用框架或技术的复杂性,数据的写入变得比较复杂,在这里我们简单演示一下。 如果使用Scala或Java的话,Spark提供自带了支持写入ES的支持库,但 阅读全文
posted @ 2020-04-16 23:45 阿布_alone 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:一.关于集群的基本操作 #!/usr/bin/env python # -*- coding: utf-8 -*- # author tom from elasticsearch import Elasticsearch from pprint import pprint # 连接es,直接传一个i 阅读全文
posted @ 2020-01-24 00:24 阿布_alone 阅读(2931) 评论(0) 推荐(0) 编辑
摘要:当我们使用 Elasticsearch-py 批量插入数据到 ES 的时候,我们常常使用它的 helpers模块里面的bulk函数。其使用方法如下: from elasticsearch import helpers, Elasticsearch es = Elasticsearch(xxx) de 阅读全文
posted @ 2020-01-16 22:39 阿布_alone 阅读(3489) 评论(0) 推荐(0) 编辑
摘要:当我们使用ES批量插入数据的时候,一般会这样写代码: from elasticsearch import Elasticsearch,helpers es =Elasticsearch(hosts=[{'host':'localhost','port':9200}]) def gendata(): 阅读全文
posted @ 2020-01-16 22:36 阿布_alone 阅读(5162) 评论(0) 推荐(1) 编辑
摘要:全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene 阅读全文
posted @ 2020-01-16 00:38 阿布_alone 阅读(367) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch下载地址: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz 解压elasticsearch-7.1.1-linux-x86_64.tar 阅读全文
posted @ 2020-01-15 00:31 阿布_alone 阅读(2109) 评论(0) 推荐(0) 编辑

TOP
点击右上角即可分享
微信分享提示