官網;html
分詞插件;node
.net客戶端git
本地離線文件:\qzdoc\DevSoft\elasticsearchgithub
1. C:\Users\Administrator>cd E:\soft\elasticsearch\elasticsearch-2.3.1\elasticsearch-2.3.1\bin
2.
3. C:\Users\Administrator>E:
4.
5. E:\soft\elasticsearch\elasticsearch-2.3.1\elasticsearch-2.3.1\bin>dir
6. 驅動器 E 中的卷是 Elasticsearch
7. 卷的序列號是 CC79-9420
8.
9. E:\soft\elasticsearch\elasticsearch-2.3.1\elasticsearch-2.3.1\bin 的目錄
10.
11. 2016/04/07 10:29 <DIR> .
12. 2016/04/07 10:29 <DIR> ..
13. 2016/04/04 12:23 5,551 elasticsearch
14. 2016/01/27 12:53 104,448 elasticsearch-service-mgr.exe
15. 2016/01/27 12:53 103,936 elasticsearch-service-x64.exe
16. 2016/01/27 12:53 80,896 elasticsearch-service-x86.exe
17. 2016/04/04 12:23 909 elasticsearch.bat
18. 2016/04/04 12:23 3,307 elasticsearch.in.bat
19. 2016/04/04 12:23 2,814 elasticsearch.in.sh
20. 2016/04/04 12:23 2,992 plugin
21. 2016/04/04 12:23 1,303 plugin.bat
22. 2016/04/04 12:23 6,501 service.bat
23. 10 個文件 312,657 字節
24. 2 個目錄 135,808,548,864 可用字節
25.
26. E:\soft\elasticsearch\elasticsearch-2.3.1\elasticsearch-2.3.1\bin>elasticsearch.bat
27. [2016-04-07 11:21:12,101][INFO ][node ] [Hardcore] version[2.3.1], pid[944], build[bd98092/2016-04-0
28. 4T12:25:05Z]
29. [2016-04-07 11:21:12,101][INFO ][node ] [Hardcore] initializing ...
30. [2016-04-07 11:21:13,085][INFO ][plugins ] [Hardcore] modules [reindex, lang-expression, lang-groovy],
31. plugins [], sites []
32. [2016-04-07 11:21:13,132][INFO ][env ] [Hardcore] using [1] data paths, mounts [[Elasticsearch (E:)
33. ]], net usable_space [126.4gb], net total_space [126.8gb], spins? [unknown], types [NTFS]
34. [2016-04-07 11:21:13,132][INFO ][env ] [Hardcore] heap size [910.5mb], compressed ordinary object p
35. ointers [true]
36. [2016-04-07 11:21:16,351][INFO ][node ] [Hardcore] initialized
37. [2016-04-07 11:21:16,351][INFO ][node ] [Hardcore] starting ...
38. [2016-04-07 11:21:16,788][INFO ][transport ] [Hardcore] publish_address {127.0.0.1:9300}, bound_addresses
39. {127.0.0.1:9300}, {[::1]:9300}
40. [2016-04-07 11:21:16,804][INFO ][discovery ] [Hardcore] elasticsearch/QbxsMzlVQn64WMXmuzLWvA
41. [2016-04-07 11:21:20,883][INFO ][cluster.service ] [Hardcore] new_master {Hardcore}{QbxsMzlVQn64WMXmuzLWvA}{127
42. .0.0.1}{127.0.0.1:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
43. [2016-04-07 11:21:20,992][INFO ][gateway ] [Hardcore] recovered [0] indices into cluster_state
44. [2016-04-07 11:21:21,195][INFO ][http ] [Hardcore] publish_address {127.0.0.1:9200}, bound_addresses
45. {127.0.0.1:9200}, {[::1]:9200}
46. [2016-04-07 11:21:21,195][INFO ][node ] [Hardcore] started
1. 解壓curl-7.33.0-win64-ssl-sspi.zip到一個文件夾,設置系統環境變量 CURL_HOME E:\soft\elasticsearch\curl-7.33.0-win64-ssl-sspi (路徑按照解壓的路徑)
2. 更改PAHT環境變量,加入%CURL_HOME%,記得和其餘項分號隔開
3. win平臺下的curl記得用雙引號代替官方測試說明的單引號(天坑);或者不用引號;插入json數據時特殊字符要轉義,如:curl -XPUT localhost:9200/customer/external/1?pretty -d "{\"name\":\"John Doe\"}"
1. 更改PAHT環境變量,加入C:\JavaEnv\apache-maven-3.3.9\bin(按安裝目錄不一樣而不一樣),記得和其餘項分號隔開
2. 利用 cmd 輸入命令 mvn -v 測試
3.
4. C:\Users\Administrator>mvn -v
5. Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:4
6. 7+08:00)
7. Maven home: C:\JavaEnv\apache-maven-3.3.9
8. Java version: 1.8.0_77, vendor: Oracle Corporation
9. Java home: C:\Program Files\Java\jdk1.8.0_77\jre
10. Default locale: zh_CN, platform encoding: GBK
11. OS name: "windows server 2012 r2", version: "6.3", arch: "amd64", family: "dos"
1. mvn clean
2. mvn compile
3. mvn package
4.
5. *compile*命令執行超久。。15分鐘,操
6. [INFO] ------------------------------------------------------------------------
7. [INFO] BUILD SUCCESS
8. [INFO] ------------------------------------------------------------------------
9. [INFO] Total time: 15:48 min
10. [INFO] Finished at: 2016-04-07T14:18:10+08:00
11. [INFO] Final Memory: 24M/134M
12. [INFO] ------------------------------------------------------------------------
13.
14. 執行打包後,成功信息以下
15. [INFO] Building zip: E:\soft\elasticsearch\elasticsearch-analysis-ik-master\target\releases\elasticsearch-analysis-ik-1.9.0.zip
16. [INFO] ------------------------------------------------------------------------
17. [INFO] BUILD SUCCESS
18. [INFO] ------------------------------------------------------------------------
19. [INFO] Total time: 02:05 min
20. [INFO] Finished at: 2016-04-07T14:21:44+08:00
21. [INFO] Final Memory: 23M/365M
22. [INFO] ------------------------------------------------------------------------
將編譯好的zip文件編譯好複製到elasticsearch安裝的根目錄下/plugins/ik,而後重啓elasticsearch服務
重啓服務中出現異常說IK插件版本不對express
1. PS E:\soft\elasticsearch\elasticsearch-2.3.1\bin> ./elasticsearch.bat
2. [2016-04-07 14:34:18,322][INFO ][node ] [Ogre] version[2.3.1], pid[4392], build[bd98092/2016-04-04T12:25:05Z]
3. [2016-04-07 14:34:18,322][INFO ][node ] [Ogre] initializing ...
4. Exception in thread "main" java.lang.IllegalArgumentException: Plugin [analysis-ik] is incompatible with Elasticsearch [2.3.1]. Was designed for version [2.3.0]
5. at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:118)
6. at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:378)
7. at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:128)
8. at org.elasticsearch.node.Node.<init>(Node.java:158)
9. at org.elasticsearch.node.Node.<init>(Node.java:140)
10. at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
11. at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
12. at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
13. at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
14. Refer to the log for complete error details.
修改plugin-descriptor.properties中的elasticsearch.version=2.3.0到2.3.1臨時解決問題。。
等之後有新版本再更新好了apache
1. 爲集羣節點, 通常狀況下一個node爲一個獨立計算機的elasticsearch分佈索引計算實例,
1. 爲索引分片,默認爲每一個節點5個主要分配,一個索引可能分佈在一個或者多個分片當中,有些分片可能在其餘節點, 在機器數量(node)有限的狀況下,shard並非越多越好,並行搜索多個分片會帶來更高的IO,合併搜索結果也會帶來更高的CPU
1. 爲複製分片,爲了提升創建索引的速度,第一次增量的時候能夠設置複製分片爲0,增量完成後再設置複製分片爲1
1. 官網提供說明
2. c:\elasticsearch-{version}bin>service install
3. Installing service : "elasticsearch-service-x64"
4. Using JAVA_HOME (64-bit): "c:\jvm\jdk1.8"
5. The service 'elasticsearch-service-x64' has been installed.
6.
7. 還有java虛擬機運行內存要單獨在 serivce.bat 中設置
8.
9. 打開管理UI
10. c:\elasticsearch-{version}bin>service manager
11.
12. 刪除服務
13. c:\elasticsearch-{version}bin>service remove
官網引用地址json
1. 配置文件在bin目錄下的 elasticsearch.in.bat 文件中, ES_MIN_MEM 爲最小內存 默認爲256m, ES_MAX_MEM 爲最大內存 默認爲1g, elasticsearch 官方建議最小內存和最大內存設置爲同樣,能夠提升性能
1. 配置文件爲config目錄下的 elasticsearch.yml 設置 network.host=ip地址 http.port: 9200 這個是配置運行端口,默認9200超出咱們服務器防火牆公開端口範圍,須要注意修改
1. 在測試的時候並無發現節點能夠自動發現內網中的其餘節點,不過手動配置後能夠了
2. 配置文件位於config目錄下的 elasticsearch.yml 配置爲 discovery.zen.ping.unicast.hosts: ["192.168.2.217", "192.168.1.180"]
3. 一旦啓動新節點,會自動複製選舉城主節點後的索引數據,若是索引數據不少,這個過程應該會挺慢的
4. 測試中down調某個節點,不會影響索引讀取,客戶端組件會自動路由失敗請求到正常服務器,關掉的節點啓動後會自動同步新索引。
1. elasticsearch.yml 每一行配置(除了註釋)前面必須有一個空格,那個空格不能刪除,不然出問題
第三方中文詳細參考bootstrap
可使用 curl 進行測試,windows 下注意josn不能換行,還有不支持中文,可能默認傳輸GB2312的緣由windows
windows 下能夠用CMD命令執行curl, 注意使用雙引號替代單引號,中間的雙引號按反斜槓\轉義,不支持換號
_id字段網上說能夠 經過mapping映射爲某個字段,實際上測試並不行, 可能早期的版本能夠支持映射,但測試的
2.3.1版本並不行
但索引的model裏能夠設置一個ID標籤映射
1. [Nest.ElasticsearchType(IdProperty = "oc_code")]
2. public class OrgCompanyCombine
客戶端默認吞掉通常的異常,如要設置爲拋出異常,須要設置 ConnectionSettings.ThrowExceptions(true);
還有未發現能夠直接批量的更新操做方法
一、索引名稱必須爲小寫
二、索引類型(實體名)必須小寫
三、實體屬性第一個字母必須是小寫,不然會在mapping中自動出現一份新的字段
四、mapping 裏的字段類型一旦有數據,基本不能修改,只能刪除重建索引
五、mapping 裏的類型能夠單獨新增
六、yml配置文件中某一行的配置文件必須前面必須留空格
七、單個實例配置的最大內存官方推薦不超過32GB,估計再大 java 的 GC 受不了,反而影響性能