工作相關和擴展核心能力的需要,採用較爲簡單的方法來學習Elasticsearch,作相關記錄備查。
一、採用Docker安裝
sudo docker pull elasticsearch:7.7.0
sudo docker images
sudo docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
二、Curl進行測試
$ curl -XGET -u "elastic:changeme" 'http://localhost:9200/' -H 'Content-Type: application/json'
curl -XPUT 'http://localhost:9200/twitter/_doc/1?pretty' -H 'Content-Type: application/json' -d '
{
"user": "kimchy",
"post_date": "2009-11-15T13:12:00",
"message": "Trying out Elasticsearch, so far so good?"
}'
curl -XPUT 'http://localhost:9200/twitter/_doc/2?pretty' -H 'Content-Type: application/json' -d '
{
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "Another tweet, will it be indexed?"
}'
curl -XPUT 'http://localhost:9200/twitter/_doc/3?pretty' -H 'Content-Type: application/json' -d '
{
"user": "elastic",
"post_date": "2010-01-15T01:46:38",
"message": "Building the site, should be kewl"
}'
三、python編寫代碼
使用python來寫的話就是
四、可能出錯的問題
1、由於代碼版本的錯誤,需要將https改成http
2、elasticsearch.ApiError: ApiError(406報錯……
需要把elasticsearch安裝版本和python Elasticsearch第三方庫(模塊)版本保持一致就可以解決。
重要參考資料: