W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Solr 的基本前提很簡單。您給它很多的信息,然后你可以問它的問題,找到你想要的信息。您在所有信息中提供的內(nèi)容稱為索引或更新。當(dāng)你問一個(gè)問題時(shí),它被稱為查詢。
了解 Solr 工作原理的一種方法是將其想成一本 loose-leaf 的食譜。每次向書中添加食譜時(shí),您都會(huì)在后面更新索引。您列出了您剛才添加的食譜的每個(gè)成分和頁碼。假設(shè)您添加100食譜。使用索引,你可以很快找到所有的食譜,使用嘴豆類,或朝鮮薊,或咖啡,作為一種成分。使用索引要比每個(gè)食譜一個(gè)一個(gè)的快速。想象一本書的1000食譜,或100萬。
Solr 允許你建立一個(gè)包含許多不同字段或條目類型的索引。上面的例子展示了如何用一個(gè)字段來構(gòu)建索引:ingredients。你可以在為配方的烹飪風(fēng)格指數(shù)等多個(gè)領(lǐng)域,像 Asian,Cajun 或者 vegan,你可以有一個(gè)索引字段的準(zhǔn)備時(shí)間。Solr 可以回答這樣的問題,比如:“在不到30分鐘的時(shí)間內(nèi),可以準(zhǔn)備哪些以血橙為原料的 Cajun 式食譜?
模式是您告訴 Solr 如何從輸入文檔建立索引的地方。
Solr 的基本信息單元是一個(gè)文檔,它是描述某些東西的一組數(shù)據(jù)。例如:配方文件將包含成分、說明、準(zhǔn)備時(shí)間、烹飪時(shí)間、所需的工具等等。例如,關(guān)于一個(gè)人的文檔可能包含該人的姓名、傳記、最喜歡的顏色和鞋子大小。關(guān)于一本書的文檔可能包含標(biāo)題、作者、出版年份、頁數(shù)等等。
在 Solr 宇宙中,文檔由字段組成,這些字段是更具體的信息片段。我們比喻的鞋子的大小可能是一個(gè)領(lǐng)域,名字和姓氏可以是字段。
字段可以包含不同類型的數(shù)據(jù)。例如,名稱字段是文本(字符數(shù)據(jù))。鞋號(hào)字段可能是一個(gè)浮點(diǎn)數(shù),以便它可以包含像 6 和 9.5 這樣的值。顯然,字段的定義是非常靈活的(例如,您可以將鞋號(hào)字段定義為文本字段而不是浮點(diǎn)數(shù)),但是如果您正確定義字段,Solr 將能夠正確解釋它們,并且您的用戶在執(zhí)行查詢時(shí)會(huì)得到更好的結(jié)果。
您可以通過指定字段類型來告訴 Solr 字段包含的數(shù)據(jù)類型。字段類型告訴 Solr 如何解釋字段以及如何查詢。
當(dāng)您添加一個(gè)文檔時(shí),Solr 將獲取文檔字段中的信息并將該信息添加到索引中。當(dāng)您執(zhí)行查詢時(shí),Solr 可以快速查閱索引并返回匹配的文檔。
字段分析告訴 Solr 在生成索引時(shí)如何處理傳入的數(shù)據(jù)。這個(gè)過程的一個(gè)更準(zhǔn)確的名字是處理(processing),甚至消化(digestion),但官方名稱是分析。
例如,考慮個(gè)人文檔中的傳記字段。每一個(gè)傳記的單詞都必須編入索引,以便快速找到與番茄醬,蜻蜓或密碼學(xué)有關(guān)的人。
然而,一本傳記可能會(huì)包含很多你不關(guān)心的詞,也不希望堵塞你的索引詞,比如 “the”、“a”、“to” 等等。此外,假設(shè)傳記中包含“番茄醬”一詞,在句首是大寫的。如果用戶對 “番茄醬” 進(jìn)行查詢,即使傳記包含大寫的單詞,您也希望 Solr 告訴你有關(guān)此人的信息。
這兩個(gè)問題的解決方案是現(xiàn)場分析。對于傳記字段,你可以告訴 Solr 如何將傳記分解成文字。您可以告訴 Solr 你想讓所有的單詞小寫,你可以告訴 Solr 刪除重音符號(hào)。
字段分析是字段類型的重要組成部分。了解分析器、標(biāo)記器和過濾器是對字段分析的詳細(xì)描述。
Solr 存儲(chǔ)有關(guān)模式文件中需要理解的字段類型和字段的詳細(xì)信息。此文件的名稱和位置可能會(huì)有所不同,具體取決于您最初如何配置 Solr 或稍后對其進(jìn)行的修改。
無論您的安裝中使用的文件的名稱是什么,文件的結(jié)構(gòu)都不會(huì)改變。但是,與文件交互的方式將會(huì)改變。如果您正在使用托管模式,則只能使用 Schema API 與文件進(jìn)行交互,而不要進(jìn)行手動(dòng)編輯。如果您不使用托管模式,則只能對該文件進(jìn)行手動(dòng)編輯,而 Schema API 將不支持任何修改。
請注意,如果您沒有使用 Schema API,但使用了 SolrCloud,則需要與 schema.xml 進(jìn)行交互,通過 ZooKeeper 使用 upconfig 和 downconfig 命令來創(chuàng)建一個(gè)本地副本并上傳您的更改?!?nbsp;Solr 控制腳本參考”和 “使用 ZooKeeper 管理配置文件”中介紹了執(zhí)行此操作的選項(xiàng)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: