7 跟我學solr 對檔案資料新增索引

2021-06-21 23:23:02 字數 1407 閱讀 4090

solr可以對檔案資料進行解析,提取可索引內容進行建立索引,底層實現是依賴apache tika的,tika利用現有的解析類庫,從不同格式的文件中(例如html,pdf,doc),偵測和提取出元資料和結構化內容,然後交由solr建立索引。

首先要保證你的solr版本在1.4以上,然後進入到進入到檔案所在的目錄,然後使用curl命令,把檔案資料新增到solr中即可。

cd site/html

curl "http://localhost:8080/solr/update/extract?literal.id=doc1&commit=true" -f "[email protected]"

從傳送的請求中我們可以看到請求的uri為/update/extract,回顧一下前面講解提到的solrrequesthandler,我們從solrconfig.xml檔案中找到如下配置。

true

ignored_

true

links

ignored_

另外,細心的同學可以看到提交的url中還有乙個引數commit=ture。這個引數是用來告訴solr,是否提交索引,如果你是批量檔案資料,應該等所有的檔案都上傳了再傳這個commit=ture的引數,一起更新索引。

現在你就可以使用http://localhost:8080/solr/select?q=tutorial來搜尋剛才提交的資料了。

新增的過程中,可能會報錯:lazy loading error,這個報錯是由於solr_home/collection1\confs/olrconfig.xml檔案的如下配置沒有找到對應的lib目錄

把需要的lib檔案目錄拷貝到這個相對路徑下即可,或者直接指定絕對路徑也可以,這些lib目錄可以在solr解壓的包的根目錄下找到。

當然,在平時開發中我們比較少使用命令的方式提交資料,下面為大家講解一下怎麼使用solrj提交檔案資料。沿用上面的例子,**非常簡單,server物件的說明請參考前面的章節。

contentstreamupdaterequest up = new contentstreamupdaterequest("/update/extract");

up.addfile(new file("tutorial.html

"),"text/html");

up.setparam("literal.id", "testsolrhtml001");

up.setaction(org.apache.solr.client.solrj.request.abstractupdaterequest.action.commit, true, true);

namedlistresult = server.request(up);

跟我學管理(7)

人如果沒有了需求,很難給你幹活,很難說真話,不說假話。馬斯洛需求層次理論 最低層次是生理的需要 然後依次是安全的需要 社交的需要 自尊的需要 自我實現的需要 越到上面的人數越少,因此是倒寶塔。人根據收入狀況和社會地位的不同,追求需要的程度和層次是不同的,但大多數都遵循一種規律 人的需求的滿足從低向高...

跟我學XSL XSL入門

跟我學xsl xsl入門 上期我們講到用css 層疊樣式表 來格式化xml文件,其效果並不很令人滿意。實際上css用來格式化html標記比較合適些,只是因為它簡單才在上例中採用。xml在更多的時候只是一種資料檔案,怎樣將它變為我們日常所看到的html格式那樣的檔案呢?如果我們將xml檔案比作結構化的...

跟我學XSL(六)

今天我們學習xsl的各種運算子,滿足編寫更大靈活性的xsl樣式的要求。表 一 運算子與特殊字元 運算子描述選擇子元素,返回左側元素的直接子元素 如果 位於最左側表示選擇根結點的直接子元素 遞迴下降,不論深度,搜尋指定的元素 如果位於最左側表示從根結點出發遞迴下降搜尋指定元素 表示當前元素 萬用字元,...