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
相關文章
相關標籤/搜索