elasticsearch的安装配置以及初步使用

elasticsearch 是一个全文搜索引擎,支持分布式。搜索速度非常快速。

本文主要进行了 elasticsearch  的安装 配置 以及初步的使用功能;


-- 下载 放到 /data/soft 目录

wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.1.0/elasticsearch-2.1.0.tar.gz
-- 创建用户 esdemo 密码 kinmos1234

-- 进入 bin 目录 elasticsearch 启用 发现报错 需要安装jdk

-- 下载 jdk 放到/data/soft 目录中
加入环境变量
vim /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

source /etc/profile

java -version

再次 /data/soft/elasticsearch-2/bin/elasticsearch
报错 Exception in thread "main" java.lang.RuntimeException: don‘t run elasticsearch as root.

发现 不能使用root用户去使用 ,修改 elasticsearch-2 的所属用户组

chown -R root .
chown -R esdemo .
chgrp -R esdemo .

切换esdemo用户 su esdemo

修改配置文件 vim /data/soft/elasticsearch-2.1.0/config/elasticsearch.yml
network.host: 192.168.2.55
http.port: 9200
再次开启 发现成功

/data/soft/elasticsearch-2.1.0/bin/elasticsearch -d 后台启动

浏览器中访问 http://192.168.2.55:9200/ 得到数据
head监控插件安装
1.https://github.com/mobz/elasticsearch-head下载zip 解压
2.创建 elasticsearch-2.1.0\plugins\head文件夹
3.将解压后的elasticsearch-head-master文件夹下的文件copy到head
4.运行es
5.打开
http://192.168.2.55:9200/_plugin/head/
创建索引库
命令行 curl -XPUT ‘192.168.2.55:9200/kinmosuser?pretty‘

访问索引库
http://192.168.2.55:9200/kinmosuser?pretty

监控各个索引库
http://192.168.2.55:9200/_cat/indices?v

修改索引配置
curl -XPUT ‘192.168.2.55:9200/kinmosuser/_settings‘ -d ‘{"number_of_replicas": 1}‘

创建文档 添加数据
curl -XPUT ‘192.168.2.55:9200/kinmosuser/user/1‘ -d ‘ { "name":"kinmos","age":22,"address":"zhongguo中国","likes":["basketball","music"]}‘
安装中文分词
下载
cd /data/soft
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/master.zip
解压
unzip master.zip
cd elasticsearch-analysis-ik-master/

https://github.com/medcl/elasticsearch-rtf 中找到 elasticsearch-analysis-ik-5.1.1.jar
放到 /data/soft/elasticsearch-2.1.0/plugins/analysis-ik 中 并将 elasticsearch-analysis-ik-master 中的文件放到 analysis-ik 中
然后编辑配置文件elasticsearch.yml ,在后面加一行:

index.analysis.analyzer.ik.type : "ik"

ik设置
修改config/IKAnalyzer.cfg.xml
<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic;custom/sougou.dic</entry>
增加:custom/sougou.dic 分词库

====================操作================================
创建 kinmosuser 索引
curl -XPUT ‘http://192.168.2.55:9200/kinmosuser?pretty‘

也可以设置的方式创建:
curl -XPUT ‘http://192.168.2.55:9200/kinmosuser/‘ -d ‘
“settings”:{
“number_of_shards”:3,
“number_of_replicas”:2
}
}‘

//删除索引
curl -XDELETE ‘http://192.168.2.55:9200/kinmosuser‘

索引创建API可以接受一个或者一组映射选项
curl -XPOST localhost:9200/test -d ‘{
“settings”:{
“number_of_shards”:3
},
“mappings”:{
“type1”:{
“_source”:{“enabled”:false},
“preperties”:{
“field1”:{
“type”:”string”,
”index”:”not_analyzed”
}
}
}
}
}’
1. create:

指定 ID 来建立新记录。 (貌似PUT, POST都可以)
$ curl -XPOST localhost:9200/films/md/2 -d ‘
{ "name":"hei yi ren", "tag": "good"}‘

返回:
{
"ok" : true,
"_index" : "twitter",
"_type" : "tweet",
"_id" : "1"
}

也可以使用自动生成的 ID 建立新纪录:
$ curl -XPOST localhost:9200/films/md -d ‘
{"id":"1", "name":"ma da jia si jia3", "tag": "good"}‘

每一个被索引的文档都会有一个版本号,被关联的版本号会作为index API的请求的响应信息一部分返回回来。因此,我们可以在对索引操作的时候,指定特定的版本号,操作对应版本的文档。例如
curl -XPUT ‘localhost:9200/twitter/tweet/1?version=2’ -d ‘{
“message”:”elasticsearch now has versioning support,double cool!”
}’

另外的一种create方式
curl -XPUT ‘http://localhost:9200/twitter/tweet/1/_create’ -d ‘{
“user”:”kimchy”,
“post_date”:”2009-11-11T14:12:12”,
“message”:”hello,world”
}’
2. 查询:
2.1 查询所有的 index, type:
$ curl localhost:9200/_search?pretty=true

2.2 查询某个index下所有的type:
$ curl http://192.168.2.55:9200/kinmosuser/_search

2.3 查询某个index 下, 某个 type下所有的记录:
$ curl ‘http://192.168.2.55:9200/kinmosuser/user/_search?pretty=true‘

2.4 带有参数的查询:
$ curl localhost:9200/films/md/_search?q=tag:good
结果:
{"took":7,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":2,"max_score":1.0,"hits":[{"_index":"film","_type":"md","_id":"2","_score":1.0, "_source" :
{ "name":"hei yi ren", "tag": "good"}},{"_index":"film","_type":"md","_id":"1","_score":0.30685282, "_source" :
{ "name":"ma da jia si jia", "tag": "good"}}]}}

http://10.70.40.250:9200/dl_pro_product/product/_search?q=first:zhuang1444

2.5 使用JSON参数的查询: (注意 query 和 term 关键字)
$ curl localhost:9200/film/_search -d ‘
{"query" : { "term": { "tag":"bad"}}}‘

3. update
$ curl -XPUT localhost:9200/films/md/1 -d { ...(data)... }

4. 删除。 删除所有的:
$ curl -XDELETE localhost:9200/films
http://10.70.40.250:9200/dl_pro_product/product/_analyze?field=af_productname&pretty=true

transaction log
每个分片都有一个关联的事务日志文件或者预写日志文件,用来保证索引的写和删除是原子操作,你不需要显式的去提交每个请求(对应于lucene的commit),Flush(“commit”)的触发基于以下几个参数:

配置
说明

index.translog.flush_threshold_ops
设置当累计操作达到多少时就执行flush操作,默认值 5000.

index.translog.flush_threshold_size
一旦你的事务日志文件的大小(translog)达到设置的这个值,则开始执行flush操作,默认值 200mb.

index.translog.flush_threshold_period
每隔多长时间执行一次flush,默认 30m.
注意:这些参数可以在运行时使用索引设置更新API来更新。(例如,当在执行批量更新时,这些数字需要加大,以支持更高的TPS)
每个碎片都有一个事务日志文件,事务日志文件主要是为了保证索引写和删除过程的可靠性,你不需要显式的去提交每个请求(对应于lucene的commit),这一切都是自动的,你也可以显式的执行flush操作来进行请求的提交,还可以使用下面这些参数来进行控制:
配置 说明
index.translog.flush_threshold_ops 设置当累计操作达到多少时就执行flush操作,默认值 5000.
index.translog.flush_threshold_size 一旦你的事务日志文件的大小(translog)达到设置的这个值,则开始执行flush操作,默认值500mb.
index.translog.flush_threshold_period 每隔多长时间执行一次flush,默认 60m.

时间: 2024-10-09 21:20:36

elasticsearch的安装配置以及初步使用的相关文章

ElasticSearch搜索引擎安装配置拼音插件pinyin

一.pinyin插件安装 1.首先前往GitHub下载安装包(注意版本与ElasticSearch对应,若无对应版本,解压后修改pom.xml文件中的elasticsearch.version,建议查看修改一下版本号),上传至/home/目录,并解压至当前目录,如下图所示: 1 vim /home/elasticsearch-analysis-pinyin-6.3.2/pom.xml 2.然后切换至解压目录进行编译(若无安装Maven工具,首先安装Maven才能编译,具体参考Linux安装Mav

Elasticsearch笔记(一)—Elasticsearch安装配置

原文链接:https://my.oschina.net/jhao104/blog/644909 摘要: ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 一.安装Elasticsearch ·安装Elasticsearch唯

linux上Elasticsearch 安装配置、网页访问

一.ElasticSearch简述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的.我们希望搜索解决方案要运行速度快,我们希望能有一个零配

Elasticsearch 安装配置 外网访问 及 后台启动

本文转自http://www.jianshu.com/p/658961f707d8 作者:咪博士 感谢咪博士分享 Elasticsearch的安装总体来说还是相当简单的,当然中间也会有些小坑.不过大家也不必太过担心,咪博士将给大家详细演示如何在Linux服务器上,安装Elasticsearch,并和大家分享如何搞定安装过程中的各种细节问题(成败在于细节啊!). 一.Java环境 Elasticsearch是用Java语言编写的,所以首先大家要确保机器上已经安装了Java环境.官方文档指出,至少需

ubuntu安装配置elasticSearch

##markdown在ubuntu安装配置### ####安装jdk#### > sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer sudo update-alternatives --config java #####安装elasti

ubuntu 下初步安装配置apache2

linux下安装配置apache server.(非管理员命令,顾在绝大部分命令前加:sudo) 先是尝试了一下,直接命令行下,敲入命令: sudo apt-get install apache2 就能安装.去到官网,说可以直接下载源码编译安装的.但是这里没有尝试(因为已经用apt装好啦-). 用apt安装好的apache,默认将配置文件放在/etc/apache2/ 下. http页面默认放在/var/www/ 下. 启动停止脚本为: /etc/init.d/apache2 因此: 启动命令为

ElasticSearch笔记整理(一):简介、REST与安装配置

[TOC] ElasticSearch简介 ElasticSearch是一款基于Apache Lucene构建的开源搜索引擎,它采用Java编写并使用Lucene构建索引.提供搜索功能,ElasticSearch的目标是让全文搜索变得简单,开发者可以通过它简单明了的RestFul API轻松地实现搜索功能,而不必去面对Lucene的复杂性.ES能够轻松的进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理. 一言以蔽之:ElasticSearch是一款基于Lucene的实时分布式搜

ELK 架构之 Elasticsearch 和 Kibana 安装配置

阅读目录: 1. ELK Stack 简介 2. 环境准备 3. 安装 Elasticsearch 4. 安装 Kibana 5. Kibana 使用 6. Elasticsearch 命令 最近在开发分布式服务追踪,使用 Spring Cloud Sleuth Zipkin + Stream + RabbitMQ 中间件,默认使用内存存储数据,但这样应用于生产环境,就不太合适了. 最终我采用的方案:服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch +

elasticsearch系列一:elasticsearch(ES简介、安装&amp;配置、集成Ikanalyzer)

一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实