ElasticSearch基本学习

摘要:
ES介绍,维基百科使用Elasticsearch进行全文搜索和突出显示关键字,并在您键入时提供搜索,您的意思是什么以及其他搜索建议。《卫报》使用Elasticsearch处理访问者日志,以便公众对不同文章的反应能够实时反馈给编辑。StackOverflow将全文搜索与地理位置和相关信息相结合,以提供更类似于此相关问题的演示。GitHub使用Elasticsearch检索超过1300亿行代码。ElasticSearch是一个基于Lucene的搜索服务器。Elasticsearch是用Java开发的,并根据Apache许可证作为开源发布。

ES介绍

维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。

英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。

StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。

GitHub使用Elasticsearch来检索超过1300亿行代码。

每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布。能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Real-Time Data实时数据

Real-Time Advanced Analytics实时高级分析

Massively Distributed 大规模分布式

High Availability 高可用性

Multitenancy 多索引

Full-Text Search 全文搜索

Document-Oriented 面向文档

Schema-Free 数据结构可自定

Developer-Friendly, RESTful API 开发友好

Per-Operation Persistence 每一个操作持久化

Apache 2 Open Source License 许可条款

Build on top of Apache Lucene™ 基于Lucene

Elasticsearch VS Solr

 ElasticSearch基本学习第1张

http://solr-vs-elasticsearch.com/

ES资源

官网:
https://www.elastic.co/downloads/elasticsearch

文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

权威指南:
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html

权威指南(翻译):
http://es.xiaoleilu.com/

客户端:
https://www.elastic.co/guide/en/elasticsearch/client/index.html

C#:http://nest.azurewebsites.net/

Chrome插件Sense

Kibana
安装sense:./bin/kibana plugin --install elastic/sense
访问:http://192.168.0.170:5601/app/sense

ES概念

集群&节点(Cluster&Node)

分片&副本(Shard&Replication)

索引(Index)

类型(Document Type)

文档(Document)

集群>节点>索引(分片|副本)>类型>文档

ES配置&基本使用

cluster.name: elasticsearch 集群名称 默认elasticsearch

node.name: “node1“ 节点名称 默认会生成

node.master: true 是否有权选举为master 默认true

node.data: true 是否存储数据 默认true

index.number_of_shards: 5 默认索引主分片数量 默认5

index.number_of_replicas: 1 默认索引备份数 默认1

path.conf: /path/to/conf 配置文件路径 默认es安装目录下conf

path.data: /path/to/data 索引数据存放路径 默认安装目录下data

path.work: /path/to/work临时文件的存储路径 默认安装目录下work

path.logs: /path/to/logs 日志路径 默认安装目录下logs

path.plugins: /path/to/plugins 插件路径 默认安装目录下plugins

network.host: 192.168.0.1 绑定的ip 默认127.0.0.1

transport.tcp.port: 9300 传输端口 默认9300

transport.tcp.compress: true 传输是否压缩 默认false

http.port: 9200 提供http端口 默认9200

discovery.zen.ping.multicast.enabled: false 是否自动发现节点 默认true

discovery.zen.ping.unicast.hosts: [“host1”, “host2:port”, “host3[portX-portY]”]

script.inline: on

script.indexed: on

ES分布式集群

node.master: false    node.data: true

该node服务器只作为一个数据节点,只用于存储索引数据。使该node服务器功能 单一,只用于数据存储和数据查询,降低其资源消耗率。

node.master: true    node.data: false

该node服务器只作为一个主节点,但不存储任何索引数据。该node服务器将使用 自身空闲的资源,来协调各种创建索引请求或者查询请求,将这些请求合理分发到相关  的node服务器上。

node.master: false    node.data: false

该node服务器即不会被选作主节点,也不会存储任何索引数据。该服务器主要用 于查询负载均衡。在查询的时候,通常会涉及到从多个node服务器上查询数据,并请   求分发到多个指定的node服务器,并对各个node服务器返回的结果进行一个汇总处理,  最终返回给客户端。

ES插件

Elasticsearch-head  管理ES

Elasticsearch-kopf 管理ES

Elasticsearch-knapsack 数据导入导出

Elasticsearch-SQL 用SQL查询数据

Elasticsearch-analysis-ik IK分词

免责声明:文章转载自《ElasticSearch基本学习》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Elasticsearch: Ngrams, edge ngrams, and shingles面试官:Redis 单线程已经很快,为何 6.0要引入多线程?有啥优势?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

安装Oracle时选择桌面类和服务器类的区别

桌面类――这种安装方式一般适用于台式机和笔记本。它包含一个最小数据库和最低的配置需求。服务器类――这种安装方式适用于服务器,例如,它会向您提供数据中心和用于支持企业级的应用程序。如果您需要使用高级配置选项,请选择此安装类型。在桌面类中,只有基本选择项。在服务器类,您可以选择标准安装(仅让您作有基本选择)或高级安装。在桌面类或典型安装中,Oracle数据库将...

FreeNAS存储服务器搭建

FreeNAS 是什么? FreeNAS 是一款广受赞誉的开源免费 NAS 操作系统。它能把普通台式机瞬间变成一台多功能 NAS 服务器。不但适用于企业文件共享,同样适用于打造家庭媒体中心。FreeNAS 支持多种共享协议,包括 SMB/CIFS、NFS、AFP、WebDAV、iSCSI、FTP/TFTP、RSync等。 目前最新稳定版是9.10,此教程基...

Vue 简单实例 地址选配8

我们可以看到所有的地址都是点亮的状态,就是外面都有个橙色的框。我们需要把默认地址,才设置为点亮的状态。 1、新建变量checkedIndex,默认为 0,然后把遍历地址列表,把字段isDefault为true的地址索引赋值给checkedIndex data() { return{ checkedIndex: 0, //默认选中的索引...

使用数据字典layui搜索框三联动

/** * 自定义的搜索初始化插件 * 说明: * 给需要异步加载数据字典的加上自定义属性jq-search="qu" * qu为数据字典对应的key * 如果需要级联查询的则加上自定义属性lay-filter, * 如果没有下一级或者子集则不需要加 * 三联动第一个lay-filter设成1,第三个设成3,代码中有判定 * echo用于放...

ES笔记一:周边工具

ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。它用Java 编写的,它的内部使用 Lucene做索引与搜索,目的是使全文检索变得简单,设计用于云计算中,能够达到实时搜索,稳定,可靠,使用简单方便(使用JSON进行数据索引,通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API)。...

使用pandas筛选出指定列值所对应的行

在pandas中怎么样实现类似mysql查找语句的功能: select * from table where column_name = some_value; pandas中获取数据的有以下几种方法: 布尔索引 位置索引 标签索引 使用API 假设数据如下: import pandas as pd import numpy as np df =...