分布式全文检索引擎ElasticSearch原理及使用实例
2020-11-18 04:06
756 查看
一 什么是 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'])
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:相关文章推荐
- ElasticSearch全文检索引擎-使用
- ElasticSearch全文检索引擎-使用
- ElasticSearch - 分布式全文检索引擎 - 概念介绍及基本操作
- ElasticSearch-高扩展的分布式全文检索引擎
- ElasticSearch-高扩展的分布式全文检索引擎
- Lucene全文检索引擎工具包使用方法总结
- Elasticsearch使用REST API实现全文检索
- (Linux)sphinx检索Coreseek中文全文检索引擎安装和使用
- CoreSeek(全文检索引擎 Sphinx 中文版)安装使用指南(CentOS6.5)
- ElasticSearch全文检索引擎-介绍
- 全文检索---ElasticSearch的介绍与简单使用
- CoreSeek(全文检索引擎 Sphinx 中文版)安装使用指南(CentOS6.5)
- Mysql全文本检索-MyISM引擎,Where子句中使用Match() Against()-布尔模式
- python django使用haystack:全文检索的框架(实例讲解)
- ElasticSearch全文检索引擎-安装
- Elasticsearch使用REST API实现全文检索
- ElasticSearch -实时的分布式搜索和分析引擎-基本使用(一)
- JAVA并发编程与原理实战,缓存架构,深入Jvm虚拟机,Elasticsearch全文检索视频资源
- Elasticsearch 6.4 ingest-attachment对office文件IK分词器全文检索(1) HttpAPI使用
- ElasticSearch全文检索引擎-介绍