日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用Elasticsearch 构建 .NET 企业级搜索

發(fā)布時間:2023/12/4 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Elasticsearch 构建 .NET 企业级搜索 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????最近幾年出現(xiàn)的云計算為組織和用戶帶來了福音。組織對客戶的了解達(dá)到前所未有的透徹,并能夠采用個性化通信鎖定客戶。用戶幾乎可以隨時隨地獲取其數(shù)據(jù),使其更加易于訪問和使用。為了存儲所有這些數(shù)據(jù),大型數(shù)據(jù)中心遍布全世界。但是,大數(shù)據(jù)同樣也意味著大挑戰(zhàn)。


企業(yè)級搜索

下面是企業(yè)級搜索面臨的基本挑戰(zhàn):擁有很多數(shù)據(jù)源的大型組織如何能夠通過一個界面向內(nèi)部和外部用戶提供搜索所有公共公司數(shù)據(jù)源的功能?這個單一界面可能是一個 API、公司網(wǎng)站或甚至是一個在后臺實現(xiàn)了自動完成功能的簡單文本框。無論公司選擇哪種界面,它必須能夠讓用戶搜索其整個數(shù)據(jù)領(lǐng)域,這可能包括結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)庫、不同格式的 Intranet 文檔、其他 API 和其他類型的數(shù)據(jù)源。

由于搜索多個數(shù)據(jù)集相當(dāng)復(fù)雜,因此公認(rèn)的企業(yè)級搜索解決方案只有幾個 — 且標(biāo)準(zhǔn)太高。企業(yè)級搜索解決方案必須包括以下功能:

  • 內(nèi)容感知:知道特定類型的數(shù)據(jù)可能位于的位置。

  • 實時索引:保持所有數(shù)據(jù)都有索引。

  • 內(nèi)容處理:使不同的數(shù)據(jù)源都可以訪問。


搜索是現(xiàn)代軟件必備的一項基礎(chǔ)功能,而 Elasticsearch 就是一款功能強大的開源分布式搜索與數(shù)據(jù)分析引擎這個基于 Java 的服務(wù)器構(gòu)建在 Apache Lucene (lucene.apache.org) 之上,其通過 JSON 支持和 REST Web 接口提供對多個數(shù)據(jù)源的可伸縮全文搜索,并具有高可用性、沖突管理和實時分析。Elasticsearch?可以從海量數(shù)據(jù)中快速找到相關(guān)信息,在同領(lǐng)域內(nèi)幾乎沒有競爭對手——近兩年 DBRanking 的數(shù)據(jù)庫評測中,ES 在搜索引擎領(lǐng)域始終位列第一?


當(dāng)你在 GitHub 上搜索時,Elasticsearch 可以實現(xiàn)代碼級的搜索與高亮顯示 ;當(dāng)你在網(wǎng)上購物時,ES 可為你推薦喜歡的商品;當(dāng)你下班打車回家時,ES 可以通過定位附近的乘客和司機,幫助平臺優(yōu)化調(diào)度。

?

Elasticsearch 還被廣泛運用于大數(shù)據(jù)近實時分析,包括日志分析、指標(biāo)監(jiān)控、信息安全等多個領(lǐng)域。

?

它可以探索海量結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù),按需創(chuàng)建可視化報表,對監(jiān)控數(shù)據(jù)設(shè)置報警閾值,甚至通過使用機器學(xué)習(xí),做到自動識別異常狀況。

?

作為目前最流行的開源搜索引擎,ES 在全球的下載量已超過 3.5 億次,騰訊、滴滴、今日頭條、餓了么、360 安全、小米,vivo 等國內(nèi)諸多知名公司都在使用 Elasticsearch。


從較高層面來說,Elasticsearch 存儲數(shù)據(jù)的方式非常簡單。服務(wù)器內(nèi)結(jié)構(gòu)的最頂層元素稱為索引,多個索引可以位于同一數(shù)據(jù)存儲中。索引本身只是文檔(一個或多個)容器,每個文檔是一個或多個字段的集合(沒有定義的結(jié)構(gòu))。每個索引都可以包含按稱為類型的單位聚合的數(shù)據(jù),用于表示特定索引內(nèi)數(shù)據(jù)的邏輯組。

在將 Elasticsearch 視為類似來自關(guān)系數(shù)據(jù)庫領(lǐng)域的表時,這可能很有用。表的行和列與索引的文檔和字段之間存在著相同的關(guān)聯(lián),其中文檔對應(yīng)行,字段對應(yīng)列。但是,通過 Elasticsearch,沒有固定的數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫架構(gòu)。


如前所述,開發(fā)人員可以通過 REST Web 接口與 Elasticsearch 服務(wù)器通信。這意味著,他們只需通過從瀏覽器或任何其他類型的 Web 客戶端發(fā)送 REST Web 請求即可查詢索引、類型、數(shù)據(jù)或其他系統(tǒng)信息。以下是一些 GET 請求示例:

  • 查詢所有索引:
    http://localhost:9200/_cat/indices/?v

  • 查詢索引元數(shù)據(jù):
    http://localhost:9200/clients/_stats

  • 查詢所有索引數(shù)據(jù):
    http://localhost:9200/clients/_search?q=*:*

  • 搜索索引內(nèi)的特定字段值:
    http://localhost:9200/clients/_search?q=field:value

  • 獲取索引映射類型內(nèi)的所有數(shù)據(jù):
    http://localhost:9200/clients/orders/_search?q=*:*


ES的.NET客戶端,Elasticsearch .Net - Low level client[5.x],?通過引入對應(yīng)的版本的客戶端,便可通過C#操作ES參考(https://www.elastic.co/guide/en/elasticsearch/client/net-api/5.x/elasticsearch-net.html)?


Elasticsearch 有什么特點?


Elasticsearch?非常容易上手,具有開箱即用的特性,你可以在極短的時間內(nèi)設(shè)置好開發(fā)環(huán)境,然后快速上手使用,繼而在成百上千臺服務(wù)器上實現(xiàn) PB 級的數(shù)據(jù)處理

?

雖然上手快,但要做到深入理解并高效使用,可就沒那么簡單了,比如:

?

1. 為什么我的數(shù)據(jù)查不到,明明是有的啊!

2. 什么鬼?為什么這幾條數(shù)據(jù)出現(xiàn)在搜索結(jié)果的前幾位?

3. 生產(chǎn)環(huán)境我需要多少臺機器,索引的分片數(shù)怎么樣設(shè)置才是合理的?

4. 應(yīng)該關(guān)注哪些指標(biāo),才能保證集群健康高效地運行?

5. 對于日志型應(yīng)用,如何設(shè)置 Hot & Warm Architecture 節(jié)約成本,怎樣管理和優(yōu)化基于時間序列的索引數(shù)據(jù),才能提高集群的整體性能?

4. 為什么我的集群腦裂了?數(shù)據(jù)損壞后,怎樣才能恢復(fù)?


其實,想要掌握 Elasticsearch,除了要理解其分布式架構(gòu)的原理外,還要了解一些信息檢索領(lǐng)域的知識和相關(guān)技巧

?

分享給你一張?Elasticsearch 核心知識圖譜,只有對每一個知識點仔細(xì)梳理并深入理解,才能解決工作中的實際問題。


? ? ? ?

這張圖譜出自阮一鳴,我之前聽過他在 Elastic 中國開發(fā)者大會的分享,講得非常不錯。?最近,得知他跟極客時間合作,推出了一門視頻課《Elasticsearch 核心技術(shù)與實戰(zhàn)》,有幸提前看到了目錄和一部分內(nèi)容,很想推薦給你。

?

在課程中,他用理論與實踐相結(jié)合的方式、深入淺出地講解了 Elasticsearch,只要你堅持學(xué)習(xí),就可以掌握 ES 的基本概念和服務(wù)搭建,了解其運行機制和常用技巧,并通過上手實戰(zhàn)理解 ES 在實際項目中的應(yīng)用。

?

近幾年 ES 非常熱門,所以去年 Elastic 公司推出了官方的 Elastic 工程師認(rèn)證考試,需要考生在 3 個小時的線上考試中,動手解決 12 個實際問題,就算有多年工作經(jīng)驗的老手都未必能通過。

?

所以,這個認(rèn)證的含金量還是挺高的,有證跟沒證不僅能力水平可能差一個檔次,收入也有可能差一個檔次。

?

阮一鳴說,這門課覆蓋了 Elastic 認(rèn)證考試的全部考點,想?yún)⒓涌荚嚨呐笥芽梢詫⑦@門課作為參考教材,這也算是「學(xué)習(xí)技能之外的 bonus」了。


關(guān)于阮一鳴


阮一鳴,eBay Pronto 平臺技術(shù)負(fù)責(zé)人。Pronto 平臺管理了 eBay 內(nèi)部上百個 Elasticsearch 集群,數(shù)據(jù)規(guī)模超過了 4000 個節(jié)點。這些集群在 ebay 的生產(chǎn)環(huán)境中,支撐了包括訂單搜索,商品推薦,日志管理,風(fēng)險控制,IT 運維,安全監(jiān)控等不同領(lǐng)域的服務(wù)。

?

作為一名互聯(lián)網(wǎng)行業(yè)的老兵,他從業(yè)近 20 年了,在大數(shù)據(jù)、云計算和性能優(yōu)化方面積累了豐富的經(jīng)驗。同時,他還是一名連續(xù)創(chuàng)業(yè)者,創(chuàng)辦過手機游戲公司、個性化音樂推薦與分享平臺 8box。


他是如何講解 Elasticsearch 的?


如果你對 Elasticsearch 有些了解,就會發(fā)現(xiàn) ES 的產(chǎn)品迭代速度非常快,很多老的 API 都已經(jīng)被廢棄不再使用,搜索到的參數(shù)配置也大多發(fā)生了變化。

?

市面上的書籍和教程都是基于 5.x 甚至是 2.x 版本。而在課程中,哥們兒使用Elasticsearch 最新的 7.1 版本進行教學(xué)。

?

所有 ES 最新版本的特性,在課程里都會有全面和直觀地展現(xiàn),比如:用機器學(xué)習(xí)進行異常檢測;用 Canvas 展示數(shù)據(jù);用索引的生命周期管理工具對索引進行優(yōu)化等等。

?

結(jié)合目錄,我總結(jié)了一下,這個課大概分為 5 個部分

?

1.?初識 Elasticsearch

Elasticsearch 核心概念、工作機制與應(yīng)用場景;本地開發(fā)環(huán)境搭建;倒排索引的原理與 ES 中 Analysis 的具體細(xì)節(jié);Mapping 設(shè)置和一些基本的 Search & Aggregation API。


2.?深入了解 Elasticsearch

理解 Elasticsearch 分布式架構(gòu)的原理;相關(guān)性算分的原理;數(shù)據(jù)建模的最佳實踐;深入搜索及聚合功能以提高搜索結(jié)果的相關(guān)度。


3.?管理 Elasticsearch 集群

集群的水平擴展、參數(shù)配置、性能優(yōu)化、故障診斷。


4.?利用 ELK 做大數(shù)據(jù)分析

結(jié)合使用場景和數(shù)據(jù),探索 Logstash、Kibana 的各項功能。


5.?應(yīng)用實戰(zhàn)工作坊

設(shè)計了電影搜索和 Stack Overflow 用戶調(diào)查問卷數(shù)據(jù)分析兩個實戰(zhàn)項目,通過上手實踐,你可以鞏固所學(xué)的知識點,并運用到實際項目中。



需要什么基礎(chǔ),能獲得什么?

?

這門課不僅適合有 ES 使用經(jīng)驗的人,也適合初學(xué)者。編程知識和數(shù)據(jù)庫的相關(guān)使用經(jīng)驗,會對你學(xué)習(xí) ES 有一定幫助,但并不是必須的

?

針對開發(fā)人員,搜索是一項被廣泛需要的功能,哥們兒詳細(xì)地講解了相關(guān)的搜索概念在 Elasticsearch 中是如何對應(yīng)和具體實現(xiàn)的。

?

如果你是一名 ES 的運維人員,管理了公司內(nèi)部的 Elasticsearch 集群:上線前的如何進行容量規(guī)劃,上線后如何保證這些集群在生產(chǎn)環(huán)境內(nèi)穩(wěn)定高效的運行,如何在凌晨識別出異常信號,及時發(fā)出告警,以避免災(zāi)難的發(fā)生。


這些問題,他在課程中都會給出相關(guān)的最佳實踐

?

其實,無論是開發(fā)還是運維,架構(gòu)師抑或數(shù)據(jù)分析師,甚至是產(chǎn)品經(jīng)理,都應(yīng)該學(xué)一學(xué) Elastic Stack。

?

在大數(shù)據(jù)時代,近實時的搜索和分析能力,會讓你唯快不破,洞見未來。——這句 copy 了阮一鳴,要我說其實就是升職加薪走上人生巔峰唄,這話夠?qū)嵲诎伞?/span>

?

跟著好好學(xué),結(jié)合課程中的練習(xí)和實踐,相信你一定能學(xué)以致用,基于 Elasticsearch 構(gòu)建出你自己的搜索和數(shù)據(jù)分析產(chǎn)品。

?

這部分好像寫得有點長啊,要我總結(jié)就一句:放心學(xué),學(xué)得會,用得著。

?

△掃我的海報試讀或訂閱


從我這里訂閱有什么福利?


1.?早鳥優(yōu)惠 ¥99,原價 ¥129

2.?訂閱專欄后,可以獲得阮一鳴親自整理的高清版「Elasticsearch 核心知識圖譜」,獲取方式:在公眾號內(nèi)回復(fù)關(guān)鍵字「ES」。

?

說了半天,是時候上目錄了,

想要干貨往下看:



?點擊「閱讀原文」免費試看:

總結(jié)

以上是生活随笔為你收集整理的使用Elasticsearch 构建 .NET 企业级搜索的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。