相關性搜索 : 利用 Solr 與 Elasticsearch 創建智能應用 (Relevant search: with applications for Solr and elasticsearch) 相关性搜索:利用Solr与Elasticsearch创建智能应用

道格.特恩布爾

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

揭開了相關性搜索的神秘面紗,告訴大家如何將Elasticsearch 或Solr 這樣的搜索引擎作為可編程的相關性框架,從而表達業務排名規則。從這本書中你可學會如何結合各種外部數據源、分類方法以及文本分析手段對相關性進行編程,以滿足用戶的個性化需求,將令人滿意的搜索結果呈現給用戶。此外,相關性搜索也需要一定的軟性技能。

本書還將告訴讀者怎樣與業務人員協作, 為業務找到正確的相關性需求,從而在搜索產品的整個研發生命週期內,實現相關性改進的良性循環。本書介紹了搜索引擎的基本原理,及相關性搜索的調試技術,用大量實例的方式詳述了搜索引擎的諸多特性,以形成一整​​套針對相關性搜索的系統化方法,並倡導致力於提高搜索質量的企業文化

作者簡介

Doug Turnbull

在OpenSource Connections上領導著一項搜索相關性的諮詢業務,在那裡他經常發表觀點和更新博客。Doug利用各種搜索和自然語言處理技術(NLP)為多個領域的客戶構建語義豐富的相關性搜索體驗。

John Berryman

第一份職業是航空工程師,但在航空領域工作了幾年之後,他發現編寫程序或解決數學難題才是他最喜歡的工作。最終,John撇下了飛機和衛星,開始全職工作於軟件開發、基礎架構,以及搜索技術領域。目前,John供職於Eventbrite,幫助利用Elasticsearch構建事件活動的發現、搜索及推薦。

本書的三位譯者的中英文水平都極高,且工作在系統管理的一線,具有豐富的理論知識和實踐經驗,相信會為讀者帶來一本質量上乘的圖書。

目錄大綱

第1章搜索的相關性問題. ...1 

 

1.1我們的目標:掌握相關性技術研發的技能.....................2 

1.2為什麼搜索的相關性如此之難.......3 

1.2.1什麼是具備“相關性”的搜索結果.....................4 

1.2.2搜索:沒有銀彈...................6 

1.3來自相關性研究的啟示............... ....7 

1.3.1信息檢索...............................7 

1.3.2能否利用信息檢索解決相關性問題.....................9 

1.4如何解決相關性................... .......... 11 

1.5不只是技術:管理、協作與反饋.13 

1.6本章小結.......16 

 

第2章搜索—幕後揭秘17 

2.1搜索101 ..... ....18 

2.1.1什麼是搜索文檔.................19 

2.1.2對內容進行搜索............. ....19 

2.1.3通過搜索來探索內容.........21 

2.1.4獲取進入搜索引擎的內容.21 

2.2搜索引擎的數據結構.......... ...........23

2.2.1倒排索引.............................23 

2.2.2倒排索引的其他內容..... ....25 

2.3對內容進行索引:提取、充實、分析和索引...............26 

2.3.1將內容提取為文檔........ .....28 

2.3.2充實文檔以清理、強化與合併數據...................28 

2.3.3執行分析....... ......................29 

2.3.4索引...33 

2.4文檔的搜索和獲取............. ............34 

2.4.1布爾搜索: AND/OR/NOT 34 

2.4.2基於Lucene搜索的布爾查詢(MUST/MUST_NOT/SHOULD) ......36 

2.4. 3位置和短語匹配.................37 

2.4.4助力用戶瀏覽:過濾、切面和聚合............... ....38 

2.4.5排序、結果排名,以及相關性...........................39 

2.5本章小結... ....42 

 

第3章調試我們的第一個相關性問題. .................43 

3.1 Solr和Elasticsearch的應用:基於Elasticsearch的例子..44 

3.2最了不起的數據集:TMDB .........45

3.3用Python語言編寫的例子..............46 

3.4第一個搜索應用...................... .......46 

3.4.1針對TMDB Elasticsearch索引的第一次搜索...49 

3.5調試查詢匹配...................... ...........52 

3.5.1檢查底層查詢策略.............53 

3.5.2剖析查詢解析........... ..........54 

3.5.3調試分析,解決匹配問題.55 

3.5.4比較查詢條件和倒排索引.58 

3.5.5通過修改分析器來修正我們的匹配.... ...............59 

3.6調試排名.......62 

3.6.1利用Lucene的解釋功能來剖析相關性評價.....63 

3.6.2向量空間模型、相關性解釋信息和我們...........68 

3.6.3向量空間模型在實踐中的注意事項................. ..71 

3.6.4通過對匹配的評價來度量相關性.......................72 

3.6.5用TF×IDF計算權重.. ......74 

3.6.6謊言、該死的謊言和相似度...............................75 

3.6.7決定搜索詞重要性的因素.77

3.6.8解決Space Jam和alien的排名問題..................78 

3.7問題解決了?工作永遠做不完!.80 

3.8本章小結.......81 

 

第4章駕馭token. ..............83 

4.1將token作為文檔特徵.......... ..........84 

4.1.1匹配的流程.........................85 

4.1.2 token,不只是單詞............85 

4.2控制查准率和查全率.....................86 

4.2.1查準率和查全率的例子.....86 

4.2.2查准率或查全率的分析.....89 

4.2.3一味提高查全率........... ......93 

4.3查准率和查全率—讓魚和熊掌兼得........................... 95 

4.3.1評價單一字段中特徵的強度...............................95 

4.3.2超越TF × IDF的評價:多搜索詞與多字段....99 

4.4分析策略.....100 

4.4.1處理分隔符..................... ..100 

4.4.2捕獲同義詞的語義...........103 

4.4.3在搜索中為專指性建模...107

4.4.4利用同義詞為專指性建模.................................107 

4.4.5利用路徑為專指性建模... 110 

4.4.6對整個世界分詞............... 112 

4.4.7對整數分詞........... ............ 112 

4.4.8對地理數據分詞............... 113 

4.4.9對歌曲分詞........ ............... 115 

4.5本章小結..... 118 

 

第5章多字段搜索基礎...119 

5.1信號及信號建模........ ...................121 

5.1.1什麼是信號.......................121 

5.1.2從源數據模型開始...........122 

5.1.3實現信號......................... ..125 

5.1.4信號建模:為數據的相關性建模.....................126 

5.2 TMDB—搜索,人類最後的邊疆.. ...........................127 

5.2.1違反基本法則................ ...129 

5.2.2讓嵌套文檔扁平化...........129 

5.3在以字段為中心的搜索中給信號建模............ .............132

5.3.1從best_.elds開始............136 

5.3.2控制搜索結果中的字段偏好................... ..........139 

5.3.3可以使用信號更精準的best_.elds嗎..............141 

5.3.4讓失敗者分享榮耀:為best_ .elds校準..........144 

5.3.5利用most_.elds統計多個信號........................147 

5.3.6在most_.elds中縮放信號................................149 

5.3.7什麼時候其他匹配才無關緊要.........................151 

5.3.8有關most_.elds的結論是什麼.......... ..............152 

5.4本章小結.....153 

 

第6章以詞為中心的搜索. ................ .................154 

6.1什麼是以詞為中心的搜索...........155 

6.2我們為什麼需要以詞為中心的搜索. ............................157 

6.2.1獵尋“白化象” ............ .....157 

6.2.2在“星際迷航”的例子中尋找白化象問題.....160 

6.2.3避免信號衝突................. ..162

6.2.4理解信號衝突的機理.......163 

6.3完成第一個以詞為中心的搜索...165 

6.3.1使用以詞為中心的排名函數........ .....................166 

6.3.2運行以詞為中心的查詢解析器(深入底層) ...169 

6.3.3理解字段同步.. .................170 

6.3.4字段同步和信號建模.......171 

6.3.5查詢解析器和信號衝突...172 

6.3. 6對以詞為中心的搜索進行調優.........................174 

6.4在以詞為中心的搜索中解決信號衝突. ........................176 

6.4.1將字段合併成自定義全字段.............. ...............177 

6.4.2利用cross_.elds解決信號衝突........................ 181 

6.5結合以字段為中心和以詞為中心的策略:魚與熊掌兼得...........................183 

6.5 .1將“相似字段”分到一組.................................183 

6.5.2理解相似字段的局限.......185 

6.5.3將貪婪的簡單搜索和保守的放大器結合起來.186

6.5.4以詞為中心與以字段為中心,查准率與查全率.............................. .189 

6.5.5考慮過濾、放大,以及重新排名.....................190 

6.6本章小結.....190 

 

第7章調整相關性函數...192 

7.1何謂評價調整...............................193 

7.2放大:通過突出結果來實現調整.................................195 

7.2.1放大:最後的邊疆........ ...195 

7.2.2放大時—選擇加法運算還是乘法運算,布爾查詢還是函數查詢?.................................197 

7.2.3選擇第一扇門:利用布爾查詢進行加法放大. 199 

7.2.4選擇第二扇門:利用數學運算進行排名的函數查詢.......................202 

7.2.5函數查詢實踐:簡單的乘法放大.....................204 

7.2.6放大處理的基礎:信號,處處是信號............ .206 

7.3過濾:通過排除的方法對結果進行調整.....................206 

7.4滿足業務需求的評價調整策略...208 

7.4.1搜索所有影片...................209

7.4.2對放大信號進行建模....... 211 

7.4.3構造排名函數:增加具有較高價值的層級.....215 

7.4.4利用函數查詢對具有較高價值的層級進行評價...............................219 

7.4.5忽略TF × IDF ......... ........221 

7.4.6捕捉綜合質量指標...........222 

7.4.7達成用戶的時效性目標...224 

7.4.8結合函數查詢... ................227 

7.4.9把一切聯繫起來...............230 

7.5本章小結.....230 

 

第8章提供相關性反饋...232 

8.1搜索框中的相關性反饋...............234 

8.1.1利用“即輸即搜”提供即時結果... ..................234 

8.1.2利用“搜索補全”幫助用戶找到最佳查詢.....236 

8.1.3利用搜索建議來修正輸入和拼寫錯誤.............244 

8.2瀏覽期間的相關性反饋...............247 

8.2.1構建基於切面的瀏覽... ....249 

8.2.2提供麵包線導航...............251 

8.2.3選擇其他的結果排序方式............. ....................252

8.3搜索結果清單中的相關性反饋...253 

8.3.1什麼信息應該出現在搜索結果中.....................254 

8.3.2通過文本片段與高亮提供相關性反饋.............255 

8.3.3對相似文檔分組...............259 

8.3.4在用戶搜不到結果時給予幫助.........................261 

8.4本章小結.....262 

 

第9章設計以相關性為核心的搜索應用............263 

9.1 Yowl!一個絕佳的新起點..........264 

9.2信息和需求的收集.......................265 

9.2.1理解用戶及其信息需求...265 

9.2.2理解業務需求...................267 

9.2.3找出必要及可用的信息...268 

9.3搜索應用的設計...........................269 

9.3.1將用戶體驗可視化.......... .270 

9.3.2定義字段和模型的信號...273 

9.3.3信號的組合與平衡...........274 

9.4部署、監控和改進......... ..............286 

9.4.1監控.286 

9.4.2找出問題並解決它們.......288

9.5知道什麼是恰到好處...................289 

9.6本章小結.....290 

 

第10章以相關性為核心的企業. ..... ...................292 

10.1反饋:以相關性為核心的企業所依賴的基石...........294 

10.2為什麼以用戶為中心的文化比數據驅動的文化更重要.............................296 

10.3無視相關性的天馬行空... ..........299 

10.4相關性反饋的覺醒:領域專家和專業用戶...............301 

10.5相關性反饋的成長:內容管理.303 

10.5.1內容管理員的角色.......304 

10.5.2與內容管理員缺乏交流的風險.....................306 

10.6讓相關性更加流暢:工程師/內容管理員的結對......307 

10.7讓相關性加速:測試驅動的相關性................... ........309 

10.7.1理解測試驅動的相關性................................ .309 

10.7.2使用帶用戶行為數據的測試驅動相關性.....312 

10.8超越測試驅動的相關性:學習排序................... ........313 

10.9本章小結...315

 

第11章語義和個性化搜索. ...............................316 

11.1基於用戶概況的個性化搜索. ....318 

11.1.1收集用戶的概況信息...319 

11.1.2將概要信息與文檔索引緊密關聯.................319 

11.2基於用戶行為的個性化搜索.....320 

11.2.1引入協同過濾...............321 

11.2.2使用共現計數的基本協同過濾算法...... .......322 

11.2.3將用戶行為信息與文檔索引緊密關聯.........327 

11.3構建概念性搜索的基本方法.....332 

11.3.1構建概念性信號...........333 

11.3.2利用同義詞對內容進行擴充.........................334 

11.4利用機器學習來構建概念性搜索...............................336 

11.4.1概念性搜索中短語的重要性.........................338 

11.5連接個性化搜索與概念性搜索.338 

11.6推薦是一種廣義的搜索..... ........339 

11.6.1用推薦代替搜索...........341 

11.7祝愿大家有一個美好的相關性搜索之旅.......... .........3 42

11.8本章小結...343 

附錄A直接根據TMDB建立索引. ...............................344 

附錄B Solr讀者指南.......351