solr基本概念

2021-09-01 21:59:37 字數 1132 閱讀 7849

原文:

solr有快速顯示搜尋結果的能力。因為solr不是直接去搜尋文字,而是搜尋索引。

這個原理就類似想通過某個關鍵字找到書的某一頁都是通過書的索引來查詢,而不是每頁去匹配這個單詞。

solr的這種索引叫倒排序(inverted index),因為他把以為page為中心模型反轉了(page-->word),變成了單詞為中心的模型(word-->pages)

index由乙個或則多個documents組成,乙個documents包含乙個或多個fields

用資料庫術語,乙個document對應乙個表,乙個fields對應乙個表字段。

當你新增document到solr之前需要先定義schema,通過schema.xml表示。schema定義了:1.有多少種fields。2.那些field應該使用unique/primary key。3.那些required是必填的。4.如何索引和查詢field。

在solr每個field都有型別。solr擴充了lucene中的各種field type。包括:

float

long

double

date

text

solr也允許你自定義型別,通過組合filters和tokenizers,乙個例子:

當資料被新增到solr,都會經過各種轉換,這個過程叫analysis階段。一些常見的轉換,比如:轉換為小寫字母,去掉stop word等等,analysis的結果是一組tokens,然後再被新增為索引。tokens已經不是原始的文件,是在你執行搜尋查詢時被搜尋的。

如果乙個filed沒有設定indexed,那麼他將不能被搜尋,那有何用處?

當我們把搜尋結果顯示給使用者時候,使用者期望看到的是原始的文件,而不是經過analysis後的token。所以這就是storage的目錄,告訴solr把原始資料也儲存下來。

有時候有些filed不需要被查詢,但是需要在結果中顯示,可以通過在shcema中設定filed的屬性stored=true and indexed=false.

好的,那我們把所有filed都儲存下來不是更好?

但是儲存這些會增大solr索引檔案的大小,索引越大,查詢越慢( the larger the index, the slower the search)

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

XSLT基本概念

我們首先來澄清乙個概念,大家可能聽說過xsl extensible stylesheet language xsl和我們這裡說的xslt從狹義上理解是一樣的,而按照w3c的標準,xslt的說法更嚴格些,因此我們在文章中統一使用xslt的稱法。它們之間具體的關係我們會在下面講述。1.1 什麼是xslt...