<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # elasticsearch(搜索引擎)介紹 ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發的,并作為Apache許可條款下的開放源碼發布,是最流行的企業搜索引擎。設計用于云計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。 我們建立一個網站或應用程序,并要添加搜索功能,令我們受打擊的是:搜索工作是很難的。我們希望我們的搜索解決方案要快,我們希望有一個零配置和一個完全免費的搜索模式,我們希望能夠簡單地使用JSON通過HTTP的索引數據,我們希望我們的搜索服務器始終可用,我們希望能夠一臺開始并擴展到數百,我們要實時搜索,我們要簡單的多租戶,我們希望建立一個云的解決方案。Elasticsearch旨在解決所有這些問題和更多的問題。 ![](https://box.kancloud.cn/ef993e9b1fef42e1826308c7133cc3ab_951x569.png) Elasticsearch 不僅僅只是一個全文搜索引擎。 它可以被下面這樣準確的形容: 一個分布式的實時文檔存儲,每個字段可以被索引與搜索——作數據庫用 一個分布式實時分析搜索引擎 能勝任上百個服務節點的擴展,并支持 PB 級別的結構化或者非結構化數據 **ES的誕生 ** ![](https://box.kancloud.cn/5e00b0b300b960061037078326416c62_1034x593.png) **ES的發展歷程** Elasticsearch 后來作為一家公司(Elastic公司)進行運作,定位為數據搜索和分析平臺。在2014年6月獲得7000萬美元融資,累積融資過億美元。 ES現在可以與Java、Ruby、Python、PHP、Perl、.NET等多種客戶端集成。也可與Hadoop、Spark等大數據分析平臺進行集成,功能十分強大。 基于Elasticsearch衍生出了一系列開源軟件,統稱為 Elatic Stack ![](https://box.kancloud.cn/d553d2403fc80defab08536ac088e3f2_1194x407.png) 說明: 因為logstash比較耗內存,所以用Beats來替代 為避免版本混亂,從5.0開始,Elastic公司將各組件的版本號統一。使用時,各組件版本號應一致(版本號形式:x.y.z,z可以不同) **ES的應用場景** ![](https://box.kancloud.cn/4b52aa8ba7c4e8f163ce6a7c3b2e24c5_693x423.png) **ES的架構** ![](https://box.kancloud.cn/b5cfa42e3aadde3217b2d2f0d5160455_1158x715.png) 說明: Gateway是ES用來存儲索引的文件系統,支持多種類型。 Gateway的上層是一個分布式的lucene框架。 Lucene之上是ES的模塊,包括:索引模塊、搜索模塊、映射解析模塊等 ES模塊之上是 Discovery、Scripting和第三方插件。Discovery是ES的節點發現模塊,不同機器上的ES節點要組成集群需要進行消息通信,集群內部需要選舉master節點,這些工作都是由Discovery模塊完成。支持多種發現機制,如 Zen 、EC2、gce、Azure。Scripting用來支持在查詢語句中插入javascript、python等腳本語言,scripting模塊負責解析這些腳本,使用腳本語句性能稍低。ES也支持多種第三方插件。 ** ES的核心概念** Near Realtime(NRT) 近實時。數據提交索引后,立馬就可以搜索到。 Cluster 集群,一個集群由一個唯一的名字標識,默認為“elasticsearch”。集群名稱非常重要,具有相同集群名的節點才會組成一個集群。集群名稱可以在配置文件中指定。 Node 節點:存儲集群的數據,參與集群的索引和搜索功能。像集群有名字,節點也有自己的名稱,默認在啟動時會以一個隨機的UUID的前七個字符作為節點的名字,你可以為其指定任意的名字。通過集群名在網絡中發現同伴組成集群。一個節點也可是集群。 Index 索引: 一個索引是一個文檔的集合(等同于solr中的集合)。每個索引有唯一的名字,通過這個名字來操作它。一個集群中可以有任意多個索引。 Type 類型:指在一個索引中,可以索引不同類型的文檔,如用戶數據、博客數據。從6.0.0 版本起已廢棄,一個索引中只存放一類數據。 Document 文檔:被索引的一條數據,索引的基本信息單元,以JSON格式來表示。 Shard 分片:在創建一個索引時可以指定分成多少個分片來存儲。每個分片本身也是一個功能完善且獨立的“索引”,可以被放置在集群的任意節點上。分片的好處: 允許我們水平切分/擴展容量 可在多個分片上進行分布式的、并行的操作,提高系統的性能和吞吐量。 注意:分片數創建索引時指定,創建后不可改了。備份數可以隨時改。 Replication 備份: 一個分片可以有多個備份(副本)。備份的好處: 高可用。一個主分片掛了,副本分片就頂上去 擴展搜索的并發能力、吞吐量。搜索可以在所有的副本上并行運行。-高并發下副本也可搜索 再上層是ES的傳輸模塊和JMX.傳輸模塊支持多種傳輸協議,如 Thrift、memecached、http,默認使用http。JMX是java的管理框架,用來管理ES應用。 最上層是ES提供給用戶的接口,可以通過RESTful接口和ES集群進行交互。 ## 全文搜索引擎種類   1、elasticsearch   2、solr   3、sphinx ## 關系數據搜索缺點,也就是直接通過數據庫搜索 ![](https://box.kancloud.cn/48bb633cc73e94b3c3527ee3d21b48a2_838x542.png) elasticsearch(搜索引擎)都能彌補以上缺點 # elasticsearch安裝   1、elasticsearch是由Java開發的,所以首先要安裝Java環境     注意:elasticsearch所需要的Java環境必須大于或者等于1.8版本     下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ![](https://box.kancloud.cn/fbc137492dd23551abcd3abe43f55d8c_886x292.png)     我們下載Windows x64版本.exe文件,直接安裝     安裝好后,我們cmd命令輸入:java -version 查看java版本 2、elasticsearch安裝  運行系統可用內存>2G   ![](https://box.kancloud.cn/f912dd2d5f87537c622f2e6f1b32fb35_1160x466.png) 雙擊進入bin文件夾里, elasticsearch.bat 回車運行 然后在瀏覽器輸入http://127.0.0.1:9200/ 返回數據說明成功 ![](https://box.kancloud.cn/9594db43b1174ab96681fe2ac613effe_915x546.png) 3、安裝elasticsearch(搜索引擎)的可視化管理工具elasticsearch-head 注意:(搜索引擎)的可視化管理工具elasticsearch-head,的安裝要用到node.js的npm 插件管理器     所以要先安裝node.js的npm 插件管理器     下載地址:https://nodejs.org/en/download/     我們下載windows版本即可,下載后安裝即可     安裝后cmd命令:npm 如下顯示表示安裝成功 ![](https://box.kancloud.cn/9d4b4d1dd35a8c55635d86dd6226937c_1468x766.png)  (搜索引擎)的可視化管理工具elasticsearch-head的安裝     下載地址:https://github.com/mobz/elasticsearch-head     下載后解壓到指定目錄,會得到以下文件 ![](https://box.kancloud.cn/11bc3d73930b7ba5fae60f51f13826f5_633x434.png)     cd進入到解壓的elasticsearch-head目錄     執行命令:cnpm install 安裝elasticsearch-head的依賴包     在執行命令:cnpm run start 啟動elasticsearch-head(搜索引擎)的可視化管理工具     訪問:http://localhost:9100/     訪問后可以看到(搜索引擎)的可視化管理工具 ![](https://box.kancloud.cn/60bce75505d0d78538b1a8fa10156cc9_742x218.png) 我們看到顯示未連接,我們需要配置elasticsearch-rtf(搜索引擎)連接,在elasticsearch/config/elasticsearch.yml 這個文件里配置 在文件的最后面寫入 ``` http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE ``` 重啟elasticsearch(搜索引擎)后就可以連接了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看