热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ElasticSearch基本学习

ES介绍

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

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

***将全文搜索与地理位置和相关信息进行结合,以提供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基本学习

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分词


推荐阅读
  • .NetCoreWebApi生成Swagger接口文档的使用方法
    本文介绍了使用.NetCoreWebApi生成Swagger接口文档的方法,并详细说明了Swagger的定义和功能。通过使用Swagger,可以实现接口和服务的可视化,方便测试人员进行接口测试。同时,还提供了Github链接和具体的步骤,包括创建WebApi工程、引入swagger的包、配置XML文档文件和跨域处理。通过本文,读者可以了解到如何使用Swagger生成接口文档,并加深对Swagger的理解。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 解决IDEA配置xml文件头报错的方法
    本文介绍了解决IDEA配置xml文件头报错的方法,包括了具体的解决方案和步骤。通过本文的指导,读者可以轻松解决这个问题并正常使用IDEA进行开发工作。 ... [详细]
  • 开发笔记:(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
建铭琼伶俊涵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有