solr 最佳實踐

2022-03-21 01:57:56 字數 2514 閱讀 2098

管理頁面的data-import頁可以手動重建索引,configuration指定了資料來源,重建索引也可以通過http請求觸發: 

管理頁面的schema頁用來配置索引字段。

每天晚上的定時全量重建索引是通過linux的crontab實現的。

./:該目錄下的upsolr.sh是solr的啟動指令碼,配置了jetty埠,jmx埠,遠端除錯埠,記憶體分配,垃圾**等啟動引數

./contexts:該目錄下的solr-jetty-context.xml檔案為jetty配置solr應用的war包資訊,一般不用修改

./etc:該目錄下的jetty.xml檔案可配置jetty引數、jetty日誌等資訊,一般不用修改

./logs:日誌檔案路徑

./resources:該目錄下的log4j.properties檔案是log4j的配置檔案

./solr:該目錄是solr各個core的配置和索引的儲存路徑,solr.xml檔案配置core及core配置檔案的路徑目錄下的conf目錄是該core的配置檔案,data目錄是該core的索引檔案 conf目錄下最重要的兩個檔案是db-data-config.xml和schema.xml db-data-config.xml配置了資料來源,schema.xml配置了索引字段以及字段型別

拷貝solr部署路徑下的檔案到新伺服器的相應路徑(拷貝時可去掉日誌檔案和索引檔案以減小拷貝包的大小)

修改upsolr.sh中的相關配置,如果新伺服器的路徑不一致,需要修改./resources/log4j.properties中的日誌檔案路徑

啟動solr,重建索引,配置crontab定時任務(如果起不來可以修改upsolr.sh中的「> /dev/null 2>&1&」部分, 將啟動輸出重定向到乙個檔案,看報什麼錯)

修改dy-solrj中的相應配置檔案,相關專案公升級dy-solrj的jar包

通知運維修改相關網域名稱**的ip

修改./solr//conf/schema.xml檔案,如果索引列名與檢視列名不一致,需要在db-data-config.xml檔案中配置對映關係 

修改./solr/solr.xml檔案,指定corename和配置檔案位置,配置檔案可以從其他core拷貝,如果使用solrj還需要修改solrj相關**

啟動伺服器

bin/solr start

這將在後台啟動伺服器,預設在8983埠監聽。bin/solr指令碼允許你自定義啟動solr的方式。

檢視如何使用bin/solr指令碼 

bin/solr -help

可以看到有10個命令,檢視各個命令用法詳情的方法如下。示例:檢視啟動的用法詳情

bin/solr start -help

solr的schema提供了內容如何結構化的方法,但是沒有內容談何結構化。solr需要輸入內容。 

bin/post是用來索引文件的命令,使用-help可以看到相關使用資訊。bin/post可以post各種型別的內容到solr上。

bin/post -c fy example/exampledocs/*

.xml

現在已經完成了索引,可以查詢。最簡單的方式是構建乙個包含查詢引數的url。

示例:查詢video

示例:查詢video,但是文件只返回id、name和price列

示例:查詢在name field中有black的。如果沒有指定field,將搜尋預設filed(在schema中設定)

可以提供fields範圍。示例:查詢price在0~400的

faceted資訊在查詢返回包中在第三部分。示例:

facet資訊展示了每個districtname有多少結果。可以使用這些資訊更輕鬆地縮小查詢結果。你可以通過增加過濾條件來過濾結果。

http://localhost:8983/solr/fy/select?q=*:*&facet=true&face.field=districtname&facet.query=普陀

solr文件索引最佳實踐

others solr solr的文件生成後,需要將其提交到solr集群,提交的方法有以下三種 每生成乙個文件就直接提交至solr cloudsolrclient client new cloudsolrclient solr zk solrinputdocument doc2 new solrin...

最佳實踐 Flutter 最佳實踐

最佳實踐是乙個領域可以接受的專業標準,對於任何程式語言來說,提高 質量 可讀性 可維護性和健壯性都非常重要。讓我們探索一些設計和開發flutter應用程式的最佳實踐。class enum typedef和extension應採用駝峰命名uppercamelcase規則。class mainscree...

JUnit最佳實踐

junit最佳實踐 cherami 轉貼 參與分 20053,專家分 4960 發表 2003 9 16 下午7 57 版本 1.0 閱讀 3899次 martin fowler說過 當你試圖列印輸出一些資訊或除錯乙個表示式時,寫一些測試 來替代那些傳統的方法。一開始,你會發現你總是要建立一些新的f...