Elasticsearch及java客户端jest使用

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

一、配置和启用中文分词;node

二、定义索引的mappingjson

三、java客户端jest建立和检索索引app

四、高亮检索结果curl

五、集群配置elasticsearch

工具:工具

因为Elasticsearch彻底REST风格,支持json进行交互,简单的curl工具就能够完成不少功能,本文中也有部分操做会直接使用curl。window环境下建议下载一个可执行的curl.exe,找一个目录,而后将目录放到path环境变量中,则curl就能够直接使用了。url

配置spa

定义Mapping插件

使用json格式的mapping,直接经过image添加到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
相关文章
相关标签/搜索