一、修改字典
1.1 動態修改字典(表示使用哪些詞來做索引)
- /var/www/file/images2/solr/solr-8.5.0/server/solr-webapp/webapp/WEB-INF/classes/dynamicdic.txt
- 需求描述:
可以在鏈接solr服務裏查看字段分詞情況,根據分詞情況考慮是否需要新增字典。
如:輸入“新冠肺炎”分詞情況爲"新"、"冠"、"肺炎",當“新冠肺炎”這個詞需要當做一個完整詞整體索引時,需要添加這個詞到dynamicdic.txt
重新索引後,輸入“新冠肺炎”分詞情況爲"新冠肺炎"、"肺炎",此時就能查詢到內容中包含"新冠肺炎"的數據了
1.2 動態修改停用詞(表示不用哪些詞做索引)
- /var/www/file/images2/solr/solr-8.5.0/server/solr-webapp/webapp/WEB-INF/classes/stopword.dic
- 需求描述:
當不需要某個詞作爲索引時,或者不希望搜索某個詞的數據時,添加詞到stopword.dic
如:不希望搜索到"法輪功"相關的數據,首先搜索"法輪功",如果有數據,則添加"法輪功"到stopword.dic
重建索引後,再搜索則無數據。
1.3 修改字典後同步修改時間戳
- /var/www/file/images2/solr/solr-8.5.0/server/solr-webapp/webapp/WEB-INF/classes/ik.conf
lastupdate=[當前時間戳]
二、重建索引
2.1 當修改字典後,新增的數據將會應用新字典,老數據需要重新索引才能應用,如果新增了字典,而老數據沒有重建索引的話,是查詢不到數據的
如:新增字典:新冠肺炎
- 輸入新冠肺炎查詢,將查詢不到老數據,只能查詢新數據
- 只有重建索引後才能查詢老數據
2.2 重建索引接口:curl localhost:8982/index-all?id=2245770
- id參數說明:索引id大於這個數值的數據
- 如果id爲空,則重新索引全量數據,已測135萬數據索引需要一個小時,謹慎操作
2.3 需要擴展重建索引接口,增加查詢條件,如日期範圍、ID範圍、contentText模糊查詢、title模糊查詢