ElasticSearch学习笔记 安装 配置
2017-04-23 22:54
525 查看
先附上api和中文文档的地址:
ESAPI:https://es.xiaoleilu.com/010_Intro/15_API.html
中文文档
http://www.learnes.net/getting_started/tutorial_indexing.html
一.安装(单节点)
目前用的是2.2.0版本的,最新是5.3.0不太会用,以后再进行升级
最新版本的下载地址:https://www.elastic.co/downloads/elasticsearch
2.2.0
下载地址:https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.2.0/elasticsearch-2.2.0.tar.gz
(1)进入下载目录解压 tar -zxvfelasticsearch-2.2.0.tar.gz
(2)修改配置文件 [hadoop@hadoop01 elasticsearch-2.2.0]$ vi config/elasticsearch.yml
http.port: 9200
transport.tcp.port: 9300
network.host: 192.168.237.11
node.name: hadoop01
cluster.name: elasticsearch (注意冒号后面一定要有空格)
(3)安装head插件(类似于mysql的navicate客户端)
[hadoop@hadoop01 elasticsearch-2.2.0]$ ./bin/plugin install mobz/elasticsearch-head
(4)启动elasticsearch
./bin/elasticsearch
使用jps查看是否启动成功
(5)用浏览器访问 http://{你的ip}/_plugin/head,如下图所示:
二.使用
在此用java将article.json 存入es建立索引,主要代码如下:
ESAPI:https://es.xiaoleilu.com/010_Intro/15_API.html
中文文档
http://www.learnes.net/getting_started/tutorial_indexing.html
一.安装(单节点)
目前用的是2.2.0版本的,最新是5.3.0不太会用,以后再进行升级
最新版本的下载地址:https://www.elastic.co/downloads/elasticsearch
2.2.0
下载地址:https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.2.0/elasticsearch-2.2.0.tar.gz
(1)进入下载目录解压 tar -zxvfelasticsearch-2.2.0.tar.gz
(2)修改配置文件 [hadoop@hadoop01 elasticsearch-2.2.0]$ vi config/elasticsearch.yml
http.port: 9200
transport.tcp.port: 9300
network.host: 192.168.237.11
node.name: hadoop01
cluster.name: elasticsearch (注意冒号后面一定要有空格)
(3)安装head插件(类似于mysql的navicate客户端)
[hadoop@hadoop01 elasticsearch-2.2.0]$ ./bin/plugin install mobz/elasticsearch-head
(4)启动elasticsearch
./bin/elasticsearch
使用jps查看是否启动成功
(5)用浏览器访问 http://{你的ip}/_plugin/head,如下图所示:
二.使用
在此用java将article.json 存入es建立索引,主要代码如下:
import org.apache.commons. 9410 lang.StringUtils; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchType; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.text.Text; import org.elasticsearch.common.transport.InetSocketTransportAddress; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.highlight.HighlightField; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Esutil { public static Client client = null; /** * 获取客户端 * @return */ public static Client getClient() { if(client!=null){ return client; } Settings settings = Settings.settingsBuilder().put("cluster.name", "elasticsearch").put("client.transport.sniff", true).build(); try { client = TransportClient.builder().build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.237.11"), 9300)); } catch (UnknownHostException e) { e.printStackTrace(); } return client; } public static String addIndex(String index,String type,Article article){ HashMap<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("id", article.getId()); hashMap.put("title", article.getTitle()); hashMap.put("url", article.getUrl()); hashMap.put("content", article.getContent()); IndexResponse response = getClient().prepareIndex(index, type).setSource(hashMap).execute().actionGet(); return response.getId(); } public static Map<String, Object> search(String key,String index,String type,int start,int row){ SearchRequestBuilder builder = getClient().prepareSearch(index); builder.setTypes(type); builder.setFrom(start); builder.setSize(row); //设置高亮字段名称 builder.addHighlightedField("title"); //builder.addHighlightedField("describe"); //设置高亮前缀 builder.setHighlighterPreTags("<font color='red' >"); //设置高亮后缀 builder.setHighlighterPostTags("</font>"); builder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); if(StringUtils.isNotBlank(key)){ builder.setQuery(QueryBuilders.multiMatchQuery(key, "title","content")); } builder.setExplain(true); SearchResponse searchResponse = builder.get(); SearchHits hits = searchResponse.getHits(); long total = hits.getTotalHits(); Map<String, Object> map = new HashMap<String,Object>(); SearchHit[] hits2 = hits.getHits(); map.put("count", total); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); for (SearchHit searchHit : hits2) { Map<String, HighlightField> highlightFields = searchHit.getHighlightFields(); HighlightField highlightField = highlightFields.get("title"); Map<String, Object> source = searchHit.getSource(); if(highlightField!=null){ Text[] fragments = highlightField.fragments(); String name = ""; for (Text text : fragments) { name+=text; } source.put("title", name); } HighlightField highlightField2 = highlightFields.get("describe"); if(highlightField2!=null){ Text[] fragments = highlightField2.fragments(); String describe = ""; for (Text text : fragments) { describe+=text; } source.put("content", describe); } list.add(source); } map.put("dataList", list); return map; } // public static void main(String[] args) { // Map<String, Object> search = Esutil.search("hbase", "tfjt", "doc", 0, 10); // List<Map<String, Object>> list = (List<Map<String, Object>>) search.get("dataList"); // } }
相关文章推荐
- elasticsearch学习笔记-安装与配置
- ElasticSearch 6.x 学习笔记:1.下载安装与配置
- Elasticsearch 学习笔记 Elasticsearch及Elasticsearch head安装配置
- (一)Elasticsearch学习笔记:安装与配置
- 【学习笔记】linux安装配置Tomcat
- MySQL学习笔记之一:安装与配置(Windows 7环境)
- Python Web 开发 学习笔记1 安装配置 python+django
- maven学习笔记 maven的安装和配置
- Maven学习笔记(二)Maven的安装和配置(Windows版)
- Maven学习笔记002——Maven的安装和配置(2014)
- OPENCV学习笔记(一):安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- [学习笔记] JAVA菜鸟入门篇-JDK安装以及配置
- EX07学习笔记之二:安装之后(2)-安全配置向导
- MySQL入门很简单-学习笔记 - 第 2 章 Windows平台下安装与配置MySQL
- Rancher 学习笔记(一) Rancher安装及简单配置
- Elasticsearch笔记(一)—Elasticsearch安装配置
- Hadoop学习笔记: 安装配置Hadoop
- 第四章学习笔记 Tomcat服务器的安装及配置
- maven学习笔记--window平台下的安装和一些基本的配置
- solr学习笔记-- day01 安装及配置