W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本節(jié)是 Solr 教程的最后一個練習,對于最后一個練習,請使用您選擇的數(shù)據(jù)集。這可以是本地硬盤上的文件、之前使用過的一組數(shù)據(jù),也可以是您打算為生產(chǎn)應用程序索引到 Solr 的數(shù)據(jù)的樣本。
這個練習是為了讓您思考您需要為您的應用程序做什么:
在開始之前,創(chuàng)建一個新的集合,命名為任何您想要的名稱。在這個例子中,集合將被命名為 “l(fā)ocalDocs”;如果需要,請將該名稱替換為您選擇的任何名稱。
./bin/solr create -c localDocs -s 2 -rf 2
同樣,正如我們從上面的練習2中看到的,這將使用 _default configSet 和它提供的所有無架構(gòu)功能。正如我們前面提到的,當我們索引數(shù)據(jù)時,這可能會導致問題。在獲得正確的架構(gòu)之前,您可能需要多次對索引進行迭代。
Solr 有很多方法來索引數(shù)據(jù)。選擇下面的方法之一,并與您的系統(tǒng)一起試用:
如果您有文件的本地目錄,則 Post Tool(bin/post
)可以索引文件的目錄。我們在第一個練習中看到了這一點。
我們在練習中只使用了 JSON、XML 和 CSV,但 Post Tool 也可以處理 HTML、PDF、Microsoft Office 格式(如 MS Word)、純文本等等。
在這個例子中,假設在本地有一個名為 “Documents” 的目錄。要索引它,我們會發(fā)出這樣的命令(根據(jù)需要在-c
參數(shù)后面糾正集合名稱):
./bin/post -c localDocs ~/Documents
在文檔中工作時,可能會出現(xiàn)錯誤。這些可能是由字段猜測引起的,或者文件類型可能不被支持。像這樣的索引內(nèi)容表明需要為您的數(shù)據(jù)規(guī)劃 Solr,這需要了解它,也許還需要一些嘗試和錯誤。
Solr 包含一個稱為數(shù)據(jù)導入處理程序(DIH)的工具,它可以連接到數(shù)據(jù)庫(如果您有 jdbc 驅(qū)動程序),郵件服務器或其他結(jié)構(gòu)化數(shù)據(jù)源。有幾個例子包括 feeds 、GMail 和一個小的 HSQL 數(shù)據(jù)庫。
在
example/example-DIH 中的README.txt
文件將為您提供有關(guān)如何開始使用此工具的詳細信息。
SolrJ 是一個與 Solr 交互的基于 Java 的客戶端。將 SolrJ 用于基于 JVM 的語言或其他 Solr 客戶端,以編程方式創(chuàng)建要發(fā)送到 Solr 的文檔。
使用管理用戶界面文檔選項卡(位于 http:// localhost:8983 / solr /#/ localDocs / documents)粘貼到要建立索引的文檔中,或者從Document Type
下拉列表中選擇 Document Builder 以一次生成一個字段的文檔。單擊表單下方的“提交文檔(Submit Document)”按鈕以索引文檔。
您可能會注意到,即使您不止一次在本教程中對內(nèi)容進行索引,也不會重復找到的結(jié)果。這是因為 Solr 架構(gòu)(名為 managed-schemaor 或者 schema.xml 的文件)的示例指定了一個名為 id 的 uniqueKey 字段。無論何時您將命令發(fā)送到 Solr 以添加具有與 uniqueKey 現(xiàn)有文檔相同的值的文檔,它就會自動替換為您的文檔。
通過查看 Solr 管理 UI 的核心特定概述部分中的 numDocs 和 maxDoc 的值,您可以看到發(fā)生了這種情況。
numDocs 表示索引中可搜索文檔的數(shù)量(由于某些文件包含多個文檔,因此將大于 XML、JSON 或 CSV 文件的數(shù)量)。該 maxDoc 值可能會更大,因為 maxDoc 計數(shù)包括邏輯上已刪除但尚未從索引中刪除的文檔。您可以反復張貼示例文件,只要您想,numDocs 永遠不會增加,因為新文檔將不斷地替換舊的。
繼續(xù)并編輯任何現(xiàn)有的示例數(shù)據(jù)文件,更改一些數(shù)據(jù),然后重新運行 PostTool(bin/post)。您將看到在后續(xù)搜索中反映的更改。
如果您需要迭代幾次才能使架構(gòu)正確,那么您可能需要刪除文檔以清除集合,然后重試。但請注意,僅刪除文檔并不會更改基礎字段定義。實質(zhì)上,這將允許您在根據(jù)需要更改字段之后重新索引數(shù)據(jù)。
您可以通過向更新 URL 發(fā)布刪除命令并指定文檔的唯一鍵字段的值或與多個文檔匹配的查詢(請注意該字段?。﹣韯h除數(shù)據(jù)。如果我們正確地構(gòu)建請求,我們也可以使用 bin 或者 post 刪除文檔。
執(zhí)行以下命令刪除特定的文檔:
bin/post -c localDocs -d "<delete><id>SP2514N</id></delete>"
要刪除所有文檔,可以使用“刪除查詢”命令:
bin/post -c localDocs -d "<delete><query>*:*</query></delete>"
您也可以修改上述內(nèi)容,只刪除與特定查詢匹配的文檔。
在這一點上,您已經(jīng)準備好開始自己的工作了。
當您準備好停止 Solr 并刪除所有與之合作的例子并重新開始時,您就可以跳過整個包了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: