Elasticsearch全文檢索

Elasticsearch

Elasticsearch 是一個「開源的分佈式、RESTful 風格的搜索和數據分析引擎」。它的底層是開源庫 Apache Lucene。

Lucene 是當下最先進、高性能、全功能的搜索引擎庫——無論是開源還是私有,但它也僅僅是一個庫。為瞭充分發揮其功能,需要使用Java並將Lucene直接集成到應用程序中。

為瞭解決Lucene使用時的繁復性,於是 Elasticsearch 便應用而生。它有Java 編寫,內部采用Lucene做索引與搜索,但是它的目標是「使全文檢索變得更簡單」,簡單來說,就是對Lucene做瞭一層封裝,提供瞭一套簡單一致的RESTful API 來幫助我們實現存儲和檢索。

「==elasticsearch是面向文檔,關系行數據庫 和 elasticsearch 客觀的對比!一切都是JSON!==」

分佈式的搜索引擎和數據分析引擎

全文檢索,結構化檢索,數據分析

對海量數據進行進實時的處理

核心概念

Near Realtime NRT 近實時

  • 寫入數據時,過1秒才會白搜索到,因為內部在分詞、錄入索引
  • es搜索時:搜索和分析數據需要秒級出結果

Cluster集群

包含一個或多個啟動著es實例的機器群。通常一臺機器起一個es實例、同一網絡下,集群名字一樣的多個es實例自動組成集群,自動均衡分片等行為。默認集群名為“elasticsearch”

Node節點

每個es實例稱為一個節點。節點名自動分配,也可以手動配置

Document文檔

es中的最小數據單元。一個document就想數據庫中的一條記錄。以json的格式顯示。多個document存儲於一個索引(index)中

Index 索引

相當於數據庫中的表

Field 字段

相當於數據庫中的列

Type 類型

在Index(索引)中,可以定義一個或多個類型。一個類型是索引中一個邏輯的種類/分區、

shard 分片

索引可以存儲大量數據,可以超過單個節點的硬件限制。

  • 水平的擴展/拆分
  • 分佈式和並行跨Shard操作(可能在多個節點),從而提高瞭性能、吞吐量
關系行數據庫 elasticsearch

Solr

Solr是Apache下的一個頂級開源項目,采用java開發,基於Lucene的全文搜索服務器。Solr提供瞭比Lucene更為豐富的查詢語言,同時實現瞭可配置、可擴展、並對索引、搜索性能進行瞭優化。可以獨立運行,一個個獨立的企業級搜索服務器,可以通過http請求,像搜索引擎服務器提交一定格式的文件,生成索引;也可以通過提出查找請求,得到響應結果

Es與Solr對比

  • 當單純的對已有數據進行搜索時,Solr更快
  • 當實時建立索引時,Solr會產生io阻塞,查詢性能較差,Es具有明顯的優勢
  • 隨著數據量的增加,Solr的搜索效率會變得更低,而 Es 卻沒有明顯的變化

總結:

  1. Es基本是開箱即用,易上手。而solr會有點復雜。
  2. Solr利用 Zookeeper 進行分佈式管理,而 es 自身帶有分佈式協調管理功能
  3. solr支持更多格式的數據,比如 json xml csv。而es 隻支持 json文件格式
  4. solr 官方提供的功能更多,而es更註重核心功能,高級功能由第三方插件提供
  5. solr查詢塊,但更新索引時慢,用於電商等查詢多的應用
  6. es 建立索引塊,即實時性查詢塊,用於 facebook 新浪等搜索
  7. solr 較成熟,有一個更大、更成熟的用戶、開發和貢獻者社區,而es 相對開發維護者較少,更新太塊。

es安裝

這裡以docker方式安裝

docker run -d --restart=always --name elasticsearch --network iot_net --network-alias elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1

docker run -d --restart=always --name kibana --network iot_net -p 5601:5601 -e ELASTICSEARCH_URL=http://elasticsearch:9200 kibana:7.1.1

发表回复

相关推荐

鐘靈毓秀紫金山,福地原來別有天:金陵必住的南京東郊國賓館是什麼體驗?

作為一個酒店控,除瞭完成每年各大集團的保級任務之外,我最喜歡打卡的,莫過於各地的“國賓館”瞭。因為這些賓館不但具有悠久...

· 1秒前

微信換群如何操作?教你引爆微信流量

對於推廣人員來說,加粉引流一直是一個比較頭痛的問題。而微信是現下最流行的移動社交終端工具,也是我們在做cpa廣告時常用的...

· 11秒前

冻干机的工作原理是什么

冻干机原理: 冻干技术是一种特殊的干燥技术,冻干技术的基本原理是根据水的3相变化。水(H2O)的3相为固态、液态和气态,水 ...

· 20秒前

高中物理知識點8|加速度

大傢好,嘉音學姐繼續為大傢進行高中物理知識點的掃盲,我們今天要學習的是運動學中的一個重要的概念——加速度。1、定義物體速...

· 29秒前

ACG歌曲安利8——崩壞世界的歌姬

熟悉崩壞系列的人一定聽過這首歌,但是你有可能不知道這首歌比崩壞系列還要早一點。這是在2011年十二月投稿的《日漸崩潰的初...

· 39秒前

Copyright 2015-2025 www.icpchaxun.com ©All Rights Reserved.