SRP的Solr設定 solr-configuration-for-srp
適用於AEM平台的Solr solr-for-aem-platform
可以使用不同的集合,在節點存放區 (Oak)和公用存放區 (SRP)之間共用Apache Solr安裝。
如果Oak和SRP集合皆密集使用,則可基於效能原因安裝第二個Solr。
在生產環境中,SolrCloud模式比獨立模式(單一本機Solr設定)提供更優異的效能。
要求 requirements
下載並安裝Apache Solr:
-
Solr需要Java™ 1.7或更高版本
-
不需要服務
-
選擇執行模式:
- 獨立模式
- SolrCloud模式 (建議用於生產環境)
-
多語言搜尋(MLS)選擇
SolrCloud模式 solrcloud-mode
建議在生產環境中使用SolrCloud模式。 在SolrCloud模式下執行時,必須先安裝及設定SolrCloud,才能安裝多語言搜尋(MLS)。
建議依照SolrCloud指示進行安裝:
- 3個SolrCloud節點位於相同伺服器上。
- 外部Apache ZooKeeper。
也建議設定JVM以調整記憶體使用量和記憶體回收。
JVM設定範例 jvm-configuration-example
JVM_OPTS="-server -Xmx2048m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xloggc:../logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djava.awt.headless=true"
SolrCloud設定命令 solrcloud-setup-commands
在SolrCloud模式下執行時,在MLS安裝之前,必須使用下列SolrCloud安裝命令並瞭解這些命令。
1.上傳設定至ZooKeeper upload-a-configuration-to-zookeeper
參考資料:
https://solr.apache.org/guide/6_6/command-line-utilities.html
使用狀況:
sh 。/scripts/cloud-scripts/zkcli.sh
-cmd upconfig
-zkhost 伺服器:連線埠
-confname *myconfig-name *
-solrhome solr-home-path
-confdir config-dir
2.建立集合 create-a-collection
使用狀況:
./bin/solr建立
-c mycollection-name
-d config-dir
-n myconfig-name
-p 連線埠
-s 分片數
-rf 復本數目
3.將集合連結至組態集 link-a-collection-to-a-configuration-set
將集合連結至已上傳至ZooKeeper的設定。
參考資料:
https://solr.apache.org/guide/6_6/command-line-utilities.html
使用狀況:
sh 。/scripts/cloud-scripts/zkcli.sh
-cmd linkconfig
-zkhost 伺服器:連線埠
-collection mycollection-name
-confname myconfig-name
標準和進階MLS的比較 comparison-of-standard-and-advanced-mls
適用於AEM Communities的多語言搜尋(MLS)是針對Solr平台所打造,可改善所有支援語言(包括英文)的搜尋功能。
適用於AEM Communities的MLS可作為標準MLS或進階MLS使用。 標準MLS僅包含Solr組態設定,並排除任何外掛程式或資源檔案。 進階MLS是更完整的解決方案,包含Solr組態設定和外掛程式及相關資源
標準MLS包括以下語言的內容搜尋增強功能:
- 英文:改善嘗試比對文字衍生詞的字乾功能。
- 日文:改善半形字元的日文標籤化。
進階MLS包含下列語言的內容搜尋增強功能:
- 英文:以左加音取代詞幹母。
- 德文:新增decompounder。
- 法文:新增版本處理。
- 中文(簡體):新增更聰明的代碼器。
- 各種語言:新增詞幹器、停用字清單和正規化程式。
進階MLS支援下列33種語言。
AEM 6.1 Solr搜尋、標準MLS和進階MLS的比較 comparison-of-aem-solr-search-standard-mls-and-advanced-mls
注意: AEM 6.1參考AEM 6.1 Communities FP3和更早版本。
安裝標準MLS installing-standard-mls
對於SRP集合(MSRP或DSRP),若要支援標準多語言搜尋(MLS),必須修改兩個Solr的組態檔:
- schema.xml
- solrconfig.xml
適用於Solr 4.10的標準MLS檔案(schema.xml、solrconfig.xml)。
適用於Solr 5.x的標準MLS檔案(schema.xml、solrconfig.xml)。
標準MLS檔案儲存在AEM存放庫中。
注意:雖然Solr檔案儲存在msrp/資料夾中,但它們也適用於DSRP (不需要變更)。
下載指示:將solrX
取代為solr4
或適當的solr5
。
-
使用CRXDE|Lite,找出:
/libs/social/config/datastore/msrp/solrX/schema.xml
/libs/social/config/datastore/msrp/solrX/solrconfig.xml
-
下載到部署Solr的本機伺服器。
- 找到
jcr:content
節點的jcr:data
屬性。 - 若要開始下載,請選取
view
。 - 確保檔案以適當的名稱和編碼(UTF8)儲存。
- 找到
-
請遵循獨立或SolrCloud模式的安裝指示。
SolrCloud模式 — 標準MLS solrcloud-mode-standard-mls
-
在SolrCloud模式中安裝和設定Solr。
-
準備新的設定:
-
建立new-config-dir* (例如
solr-install-dir*/myconfig/
) -
將現有Solr組態目錄的內容複製到 new-config-dir
- Solr4:複製
solr-install-dir/example/solr/collection1/conf/
- Solr5:複製
solr-install-dir/server/solr/configsets/data_driven_schema_configs/
- Solr4:複製
-
將下載的 schema.xml 和 solrconfig.xml 複製到 new-config-dir 以覆寫現有的檔案。
-
-
將新設定上傳至ZooKeeper。
-
建立集合,指定必要的引數,例如分片數目、復本數目和組態名稱。
-
如果組態名稱 未 在建立集合期間提供,將這個新建立的集合與上傳到ZooKeeper的組態連結。
-
針對MSRP,請執行MSRP重新索引工具,除非此安裝是新的。
獨立模式 — 標準MLS standalone-mode-standard-mls
-
以獨立模式安裝Solr。
-
如果執行Solr5,請建立集合1 (類似Solr4):
./bin/solr start
./bin/solr create_core -c collection1 -d sample_techproducts_configs
-
在Solr設定目錄中備份 schema.xml 和 solrconfig.xml,例如:
- 針對Solr4:
solr-install-dir/example/solr/collection1/conf/
- 已為Solr5建立:
solr-install-dir/server/solr/collection1/conf/
- 針對Solr4:
-
將下載的 schema.xml 和 solrconfig.xml 複製到相同目錄。
-
重新啟動Solr。
-
針對MSRP,請執行MSRP重新索引工具,除非此安裝是新的。
安裝進階MLS installing-advanced-mls
若要讓SRP集合(MSRP或DSRP)支援進階MLS,除了自訂結構描述和Solr設定外,還需要新的Solr外掛程式。 所有必要專案都會封裝成可下載的zip檔案。 此外,當以獨立模式部署Solr時,也會隨附安裝指令碼。
若要取得Advanced MLS套件,請參閱檔案部署區段中的AEM Advanced MLS。
若要開始使用SolrCloud或獨立模式的安裝:
- 將AEM-SOLR-MLS zip封存下載至託管Solr的伺服器。
- 解壓縮封存。
solrcloud模式 — 進階MLS solrcloud-mode-advanced-mls
安裝指示 — 請注意Solr4和Solr5的幾項差異:
-
在SolrCloud模式中安裝和設定Solr。
-
將進階MLS套件的內容解壓縮到磁碟。 內容應包括:
- schema.xml
- solrconfig.xml
- 停用詞/ 資料夾
- 設定檔/ 資料夾
- extra-libs/ 資料夾
-
準備新的設定:
-
建立 new-config-dir
- 例如
solr-install-dir/myconfig/
- 建立子資料夾
stopwords/
和lang/
- 例如
-
將現有Solr設定目錄的內容複製到 new-config-dir
- Solr4:複製
solr-install-dir/example/solr/collection1/conf/
- Solr5:複製
solr-install-dir/server/solr/configsets/data_driven_schema_configs/
- Solr4:複製
-
將擷取的 schema.xml 和 solrconfig.xml 複製到 new-config-dir 以覆寫現有的檔案。
-
針對Solr5:將
solr_install_dir/server/solr/configsets/sample_techproducts_configs/conf/lang/*.txt
複製到new-config-dir/lang/
-
將擷取的 stopwords/ 資料夾複製到 new-config-dir,結果為
new-config-dir/stopwords/*.txt
-
-
上傳新設定到ZooKeeper
-
複製新的 設定檔/ 資料夾……
- 對於Solr4:複製到每個節點的資源/資料夾
- 對於Solr5:複製到每個Solr安裝的伺服器/資源/資料夾。 如果所有節點都位於相同的Solr安裝目錄中,則此步驟只會執行一次。
-
在SolrCloud中每個節點的solr-home目錄(包含solr.xml)中建立 lib/ 資料夾。 將jar從下列位置複製到每個節點上的新資料庫/資料夾:
- 從進階MLS封裝擷取的 extra-libs/
- solr-install-dir/contrib/extraction/lib/.jar
- solr-install-dir/dist/solr-cell.jar
- solr-install-dir/contrib/clustering/lib/.jar
- solr-install-dir/dist/solr-clustering.jar
- solr-install-dir/contrib/langid/lib/.jar
- solr-install-dir/dist/solr-langid.jar
- solr-install-dir/contrib/velocity/lib/.jar
- solr-install-dir/dist/solr-velocity.jar
- solr-install-dir/contrib/analysis-extras/lib/.jar
- solr-install-dir/contrib/analysis-extras/lucene-libs/.jar
-
建立集合,指定必要的引數,例如分片數目、復本數目和組態名稱。
-
如果組態名稱是在建立集合期間提供的 不是,請將此新建立的集合與上傳至ZooKeeper的組態連結。
-
針對MSRP,請執行MSRP重新索引工具,除非此安裝是新的。
獨立模式 — 進階MLS standalone-mode-advanced-mls
進階MLS套件中包含安裝指令碼。
將套裝軟體的內容解壓縮至裝載獨立Solr伺服器的伺服器後,請執行安裝命令檔以安裝必要的資源與組態檔。
-
以獨立模式安裝Solr。
-
如果執行Solr5,請建立集合1 (類似Solr4):
./bin/solr start
./bin/solr create_core -c collection1 -d sample_techproducts_configs
-
執行安裝指令碼:安裝[-v 4|5] [-d solrhome] [-c collectionpath]
其中:-
-d solrhome
Solr安裝目錄
-
-c集合路徑
solr中的集合路徑
-
— 說明
列印命令列選項
-
-v [4|5]
設定solr的版本
-
-
Solr 4.10.4的範例:
- Install.bat -v 4 -d c:/solr-4.10.4 -c:/solr-4.10.4/example/solr/collection1
-
Solr 5.4.0的範例:
- Install.sh -v 5 -d /tmp/solr-5.4.0 -c /tmp/solr-5.4.0/server/solr/collection1
附註:
- 安裝指令碼會先備份schema.xml和solrconfig.xml,再透過附加「.orig」安裝新版本
關於solrconfig.xml about-solrconfig-xml
solrconfig.xml 檔案控制自動認可間隔和搜尋可見度,並需要測試和調整。
<autoCommit>
:依預設,AutoCommit間隔(硬性認可至穩定儲存)設定為15秒。 搜尋可見度預設為使用預先提交索引。
若要變更搜尋,以使用更新後的索引,以反映因認可而發生的變更,請將包含的openSearcher
變更為true。
autoSoftCommit
:「soft」認可可確保變更可見(索引已更新),但無法確保變更已同步至穩定儲存(硬認可)。 結果是效能提升。 根據預設,autoSoftCommit
已停用,包含的maxTime
設定為–1。