本文使用Github中的Elasticsearch-rtf,已经集成了众多的插件,例如必须使用的中文分词等,可以简单的通过配置来启用中文分词。本文主要分为以下几部分:

1、配置和启用中文分词;

2、定义索引的mapping

3、java客户端jest创建和检索索引

4、高亮检索结果

5、集群配置

工具:

由于Elasticsearch完全REST风格,支持json进行交互,简单的curl工具就可以完成很多功能,本文中也有部分操作会直接使用curl。window环境下建议下载一个可执行的curl.exe,找一个目录,然后将目录放到path环境变量中,则curl就可以直接使用了。

配置

定义Mapping

使用json格式的mapping,直接通过添加到test-index索引中。当然,在此之前得先增加一个叫test-index的索引( curl –XPUT http://localhost:9200/test-index,一个简单的命令就可以完成这个事情了。)

{
    "huangke": {
        "mappings": {
            "index": {
                "properties": {
                    "alttitle": {
                        "index": "analyzed",
                        "type": "string"
                    },
                    "contens": {
                        "properties": {
                            "pageno": {
                                "type": "long"
                            },
                            "pagetext": {
                                "index": "analyzed",
                                "type": "string"
                            }
                        }
                    },
                    "desc": {
                        "index": "analyzed",
                        "type": "string"
                    },
                    "drmi": {
                        "index": "not_analyzed",
                        "type": "string"
                    },
                    "isbn": {
                        "index": "not_analyzed",
                        "type": "string"
                    },
                    "metadatatype": {
                        "index": "not_analyzed",
                        "type": "string"
                    },
                    "metaid": {
                        "index": "not_analyzed",
                        "type": "string"
                    },
                    "publisher": {
                        "index": "analyzed",
                        "type": "string"
                    },
                    "title": {
                        "index": "analyzed",
                        "type": "string"
                    }
                }
            }
        }
    }
}

JEST使用

 

高亮检索结果

集群配置

cluster.name一样,则表示是一个集群,es默认会根据名字自动发现node节点的机器,并加入到集群中进行管理。通过如下简单的配置,就可以将es的集群搭建好:

master机器:

cluster.name: "logstash_ela"
node.name: "elasticsearch_node0"
node.master: true
node.data: true

node节点机器:node.master配置为false表示此节点就只会用来存储数据,在任何情况下都不会作为master节点(内置选举啥机制等,配置为true的则在某些情况下还是有可能会作为master节点存在的)。

cluster.name: "logstash_ela"
node.name: "elasticsearch_node1"
node.master: false
node.data: true

Elasticsearch及java客户端jest使用的更多相关文章

  1. Elasticsearch的java客户端JEST的操作

    准备 把Elasticsearch安装好 安装百度上有很多资料. 导入必要的包 <parent> <groupId>org.springframework.boot</g ...

  2. elasticsearch 口水篇(3)java客户端 - Jest

    elasticsearch有丰富的客户端,java客户端有Jest.其原文介绍如下: Jest is a Java HTTP Rest client for ElasticSearch.It is a ...

  3. elasticsearch 口水篇(4)java客户端 - 原生esClient

    上一篇(elasticsearch 口水篇(3)java客户端 - Jest)Jest是第三方客户端,基于REST Api进行调用(httpClient),本篇简单介绍下elasticsearch原生 ...

  4. ElasticSearch java客户端更新时出现的错误:NoNodeAvailableException[None of the configured nodes are available

    下午尝试 用ElasticSearch  的java客户端去做数据检索工作,测试了一下批量更新,代码如下: public static void bulkUpdateGoods(List<Goo ...

  5. Jest — ElasticSearch Java 客户端

    1. 介绍 任何使用过Elasticsearch的人都知道,使用基于rest的搜索API构建查询可能是单调乏味且容易出错的. 在本教程中,我们将研究Jest,一个用于Elasticsearch的HTT ...

  6. elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)

    一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RE ...

  7. 使用Java客户端操作elasticsearch(二)

    承接上文,使用Java客户端操作elasticsearch,本文主要介绍 常见的配置 和Sniffer(集群探测) 的使用. 常见的配置 前面已介绍过,RestClientBuilder支持同时提供一 ...

  8. Elasticsearch集群搭建及使用Java客户端对数据存储和查询

    本次博文发两块,前部分是怎样搭建一个Elastic集群,后半部分是基于Java对数据进行写入和聚合统计. 一.Elastic集群搭建 1. 环境准备. 该集群环境基于VMware虚拟机.CentOS ...

  9. elasticsearch java 客户端之action简介

    上一篇介绍了elasticsearch的client结构,client只是一个门面,在每个方法后面都有一个action来承接相应的功能.但是action也并非是真正的功能实现者,它只是一个代理,它的真 ...

随机推荐

  1. 要杀死一切APP,微信应用号是不是被神化了?

    昨晚打开微信朋友圈,关于微信“小程序”发布内测邀请函的消息漫天飞舞.今天一早翻阅新闻,各大媒体也纷纷表示看好微信应用号,有些媒体甚至扬言微信应用号将杀死一切APP,大量的APP都将会被用户卸载.不可否 ...

  2. Entity Framework6 with Oracle

    Entity Framework6 with Oracle(可实现code first) Oracle 与2个月前刚提供对EF6的支持.以前只支持到EF5.EF6有很多有用的功能 值得升级.这里介绍下 ...

  3. 如何实现LBS轨迹回放功能?含多平台实现代码

    本篇文章告诉您,如何实现轨迹回放.并且提供了web端,iOS端,Android端3个平台的轨迹回放代码.拷贝后可以直接使用.另外,文末有小彩蛋,算是开发者的福利. Web端/JavaScript 实现 ...

  4. quartzScheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak解决

    01-Jul-2016 07:24:20.218 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 80 ...

  5. 防止ViewPager中的Fragment被销毁的方法,更加流畅

    在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图: 当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以 ...

  6. velocity 显示List和Map方法

    一.遍历个map类型 1.先看后台java程序Java代码     Map<String,String> paramValues=new HashMap<String, String ...

  7. IOS开发 应用程序图标数字角标

    其实实现这个功能很简单,只要调用UIApplication即可.   用法用例:[UIApplication sharedApplication].applicationIconBadgeNumber ...

  8. Android ImageView src与backgroud

    在XML中添加ImageView时,有两个可以设置图片的地方,一个是android:src,一个是android:background,这两个的区别: src是图片内容,显示在前面的,backgrou ...

  9. JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program

    已经安装了JDK1.7 和对应JRE 安装了tomcat8 都是解压版 并设置了JAVA_HOME.JRE_HOME 但Tomcat在启动过程中找不到 错误: the JRE_HOME environ ...

  10. ROS vpn (pptp) 配置及端口绑定配置

    网络搜集 一. 按VPN的协议分类 VPN的隧道协议主要有三种,PPTP,L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议:IPSec是第三层隧道协议,是最 ...