分布式全文检索引擎之ElasticSearch

news/2024/7/24 13:29:35

一 什么是 ElasticSearch

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,
它不仅包括了全文搜索功能,还可以进行以下工作:   分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。   可实现亿级数据实时查询   实时分析的分布式搜索引擎。   可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

二 安装(windows下)

安装包下载地址:https://www.elastic.co/cn/downloads/elasticsearch

注意:Elasticsearch是用Java开发的,最新版本的Elasticsearch需要安装jdk1.8以上的环境

安装包下载完,解压,进入到bin目录,启动 elasticsearch.bat 即可

三 python操作ElasticSearch

# -*- coding:utf-8 -*-
# Author : liuqingzheng

from elasticsearch import Elasticsearch

obj = Elasticsearch()
# 创建索引(Index)
result = obj.indices.create(index='user', body={"userid":'1','username':'lqz'},ignore=400)
# print(result)
# 删除索引
# result = obj.indices.delete(index='user', ignore=[400, 404])
# 插入数据
# data = {'userid': '1', 'username': 'lqz','password':'123'}
# result = obj.create(index='news', doc_type='politics', id=1, body=data)
# print(result)
# 更新数据
'''
不用doc包裹会报错
ActionRequestValidationException[Validation Failed: 1: script or doc is missing
'''
# data ={'doc':{'userid': '1', 'username': 'lqz','password':'123ee','test':'test'}}
# result = obj.update(index='news', doc_type='politics', body=data, id=1)
# print(result)


# 删除数据
# result = obj.delete(index='news', doc_type='politics', id=1)

# 查询
# 查找所有文档
query = {'query': {'match_all': {}}}
#  查找名字叫做jack的所有文档
# query = {'query': {'term': {'username': 'lqz'}}}

# 查找年龄大于11的所有文档
# query = {'query': {'range': {'age': {'gt': 11}}}}

allDoc = obj.search(index='news', doc_type='politics', body=query)
print(allDoc['hits']['hits'][0]['_source'])

 

转载于:https://www.cnblogs.com/zhangshengxiang/p/10438166.html


http://www.niftyadmin.cn/n/1788477.html

相关文章

IDEA 插件和经验分享

发现一波IDEA的插件分享 本文来源自:https://www.jianshu.com/p/e3f83c4c2d7e 前言 工欲善其事必先利其器,用 IntelliJ IDEA 开发几年了,它带来工作效率上的提升是很显著的。本文分享一些好用的插件和经验。 插件 activate-power-mode 酷炫…

IDEA搜索GitHub的插件 .A Search with Github

.A Search with Github:IDEA中该插件选中代码后可以右键直接在GitHub中进行搜索 在IDEA中,File->Settings->Plugins,在Plugins中搜索Search with...即可出来: 本人是已经下载过的,如果没有下载过会是绿色的Inst…

记一次测试环境下PXC集群问题《经验总结》

1、问题描述当PXC集群节点全部宕机的,导致集群几点启动失败、报错导致无法启动[ERROR] WSREP: It may not be safe to bootstrap the cluster from this node. It was not the last one to leave the cluster and may not contain all the updates. To force cluste…

Dock报错:Error response from daemon: Get https://index.docker.io/v1/search?q=mysqln=25: dial tcp 52.

Docker我配置的时阿里云的镜像加速器,详情:https://blog.csdn.net/M82_A1/article/details/91957886 但是运行 docker search mysql查找mysql镜像时就报错: Error response from daemon: Get https://index.docker.io/v1/search?qmysql&am…

nodejs实时的检测系统文件的变化(无需重启服务)

1、安装superior npm -g install supervisor 注意 superior必须全局安装,否则错误命令会提示安装到全局 2、修改启动 现在我们需要使用 supervisor app.js 来启动程序,而不是使用node app.js来启动程序 把 package.json 的 "start": "nod…

Docker login报错:Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup re

Docker提交镜像前需要登录一下注册的Docker Hub 账号,但是我在登录时却出现了一下错误: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker 在Docker中遇到无数坑的我已经习惯了时不时的报错&…

Docker Swarm基础概念理解

Docker Swarm 基本概念 Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。 使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造…

js中对小数取整

1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4,向下取整 js: Math.floor(7/2)转载于:https://www.cnblogs.com/jiangyunfeng/p/10444446.html