本文使用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: truenode.data: truenode節點機器:node.master配置為false表示此節點就只會用來存儲數據,在任何情況下都不會作為master節點(內置選舉啥機制等,配置為true的則在某些情況下還是有可能會作為master節點存在的)。
cluster.name: "logstash_ela"node.name: "elasticsearch_node1"node.master: falsenode.data: true

