![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxid0JDWwJlMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzUzM0ATNxEjMyATNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
elasticsearch與mysql的差別:
索引就是資料庫,類型就是資料表,文檔就是資料,屬性就是列
elasticsearch比mysql查詢資料有好處是因為它用了反向索引:
意思是每個句子都拆分為多個單詞,将單詞标上這個句子的索引,
當有一個要檢索的句子出現時,根據每個單詞的記錄數,得出相關性得分
在linux下安裝es和kibana的坑:
下載下傳的都是7.6.1的版本,下載下傳完成後,分别進行配置
es:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.1
kibana:
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \
-d kibana:7.6.1
1)es配置設定端口失敗,解決:重新開機docker後成功顯示
2)
3)根據docker logs elasticsearch檢視日記發現記憶體不夠用了,free -h指令後發現可用記憶體隻有100多m
解決:使用以下指令行清理記憶體,free -h發現有300m多了
echo 3 > /proc/sys/vm/drop_caches
4)es和kibana在linux下啟動要很長時間,如果出現拒絕通路的字段,要等一段時間才能成功通路
5)出現kibana server is not ready yet的錯誤
解決:
檢視日志docker logs kibana之後發現已經有了一個.kibana_1的索引,要删除該索引
最後成功啟動es和kibana
es:
kibana: