全文檢索特珠字元過濾

2021-09-01 15:30:45 字數 942 閱讀 2362

現象: 在搜尋處輸入 2012~2013 ,搜尋報錯

解決辦法:

(1) 在stringutil中新增 如下方法

* 過濾特殊字元

* @param str

* @return

public static string replacespecialstr(string str) ;

for(string s : specialstr) {

str = str.replace(s, "");

return str;

搜尋服務實現類中:

(2)model.setkeyword(stringutil.filter(model.getkeyword()));

model.setkeyword(solrutil.escapechar(model.getkeyword())); **位置處

/** 需要將特殊符號進行轉義*/

string keywordtemp = model.getkeyword();

model.setkeyword(stringutil.filter(model.getkeyword()));

model.setkeyword(solrutil.escapechar(model.getkeyword()));

model.setkeyword(stringutil.replacespecialstr(model.getkeyword()));

(3) solrpageresultcontainer solrpageresultcontainer = queryresult.getsolrpageresultcontainer();

後 新增 如下,再return solrserver.getpageresultcontainerbysolr(solrpageresultcontainer);

model.setkeyword(keywordtemp);

什麼叫全文檢索 全文檢索概念

全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞在文章中出現的次數和位置,當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式。這個過程類似於通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢...

什麼叫全文檢索 全文檢索概念

全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞在文章中出現的次數和位置,當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式。這個過程類似於通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢...

MSSQL全文檢索

大家可能都會用 select from tb where field like 關鍵字 但是一旦資料量大使用者多,就會造成查詢過慢,因此ms提供一種犧牲空間來換取時間的解決方案。全文檢索。原文請看 我對自己的實現加了些注釋 use popask 使用這個庫 exec sp fulltext data...