分布式全文检索引擎ElasticSearch原理及使用实例


Posted in Python onNovember 14, 2020

一 什么是 ElasticSearch

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:

  • 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
  • 可实现亿级数据实时查询
  • 实时分析的分布式搜索引擎。
  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

二 安装(windows下)

安装包下载地址

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

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

三 python操作ElasticSearch

# -*- coding:utf-8 -*-

from elasticsearch import Elasticsearch

obj = Elasticsearch()
# 创建索引(Index)
result = obj.indices.create(index='user', body={"userid":'1','username':'sui'},ignore=400)
# print(result)
# 删除索引
# result = obj.indices.delete(index='user', ignore=[400, 404])
# 插入数据
# data = {'userid': '1', 'username': 'sui','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'])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python在Windows8下获取本机ip地址的方法
Mar 14 Python
Python3.6简单反射操作示例
Jun 14 Python
Python设置在shell脚本中自动补全功能的方法
Jun 25 Python
python 多个参数不为空校验方法
Feb 14 Python
python中while和for的区别总结
Jun 28 Python
python实现共轭梯度法
Jul 03 Python
python将字符串转变成dict格式的实现
Nov 18 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
Python类和实例的属性机制原理详解
Mar 21 Python
python实现批处理文件
Jul 28 Python
超级详细实用的pycharm常用快捷键
May 12 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 Python
Django websocket原理及功能实现代码
Nov 14 #Python
Pycharm常用快捷键总结及配置方法
Nov 14 #Python
Django model class Meta原理解析
Nov 14 #Python
详解python爬取弹幕与数据分析
Nov 14 #Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 #Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 #Python
基于Python的身份证验证识别和数据处理详解
Nov 14 #Python
You might like
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
简单的自定义php模板引擎
2016/08/26 PHP
php实现文件预览功能
2017/05/23 PHP
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
js实现简单的验证码
2015/12/25 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
Python OS模块实例详解
2019/04/15 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
python 类之间的参数传递方式
2019/12/20 Python
python实现控制台输出颜色
2021/03/02 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
办公室文员自荐书
2014/02/03 职场文书
市场部经理岗位职责
2014/04/10 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
成本会计实训报告
2014/11/05 职场文书
家庭贫困证明
2015/06/16 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python