码迷,mamicode.com
首页 > 其他好文 > 详细

分布式全文检索引擎之ElasticSearch

时间:2019-02-26 17:14:40      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:word   auth   rom   user   div   sea   文档   地址   exce   

一 什么是 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])

 

分布式全文检索引擎之ElasticSearch

标签:word   auth   rom   user   div   sea   文档   地址   exce   

原文地址:https://www.cnblogs.com/zhangshengxiang/p/10438166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!