Solr 分詞與搜尋

2021-08-07 07:10:54 字數 2531 閱讀 8397

name="ik_cnanalyzer"

class="solr.textfield"

positionincrementgap="100">

type="index">

class="org.wltea.analyzer.lucene.iktokenize***ctory"

usesmart="false"/>

analyzer>

type="query">

class="org.wltea.analyzer.lucene.iktokenize***ctory"

usesmart="false"/>

analyzer>

fieldtype>

如下的分詞效果:

1.2 字段:

name="user_id"

type="string"

indexed="true"

stored="true"/>

name="user_name"

type="ik_cnanalyzer"

indexed="true"

stored="true"/>

name="user_password"

type="string"

indexed="true"

stored="true"/>

name="item_keyword"

type="ik_cnanalyzer"

indexed="true"

stored="true"

multivalued="true"/>

source="user_name"

dest="item_keyword"/>

1.3 整合到spring。

solr-solrj為5.5,有的版本可能不一樣,會出現不支援的情況。

需要說明的是,注入的url,應該是ip+埠號+solr執行在tomcat中的專案名+資料倉儲名稱,solr管理頁面為:

有點區別。

自動注入到需要使用的位置。

2 做的乙個簡單的搜尋。

搜尋dao層,處理各種情況的搜尋。

@autowired

private solrclient solrclient;

/*** 搜尋

*/public listsearch(solrquery solrquery) else

user.setname(name);

user.setpassword((string)solrdocument.get("user_password"));

lstuser.add(user);

}} catch (solrserverexception e) catch (ioexception e)

return lstuser;

}

呼叫處:

/**

* 搜尋

}

附出現的問題:

1 在配置了分詞後,在分詞介面中能成功的分詞,但是在進行查詢的時候卻啥都不能查出來,就連全匹配都查不出來,各種查資料,差點都準備放棄這塊的,突然發現資料是之前就已經存在了的,重新配置的字段型別配置的分詞器是在資料匯入後新增的。重新構建一下索引試試,果然,重構索引後能成功登頂分詞並能查詢出來。

solr搜尋分詞優化

solr搜尋分詞優化 solr伺服器配置好在搜尋時經常會搜出無關內容,把不該分的詞給分了,導致客戶找不到自己需要的內容,那麼我們就從配置詞典入手解決這個問題。首先需要知道自帶的詞典含義 停止詞 停止詞是無功能意義的詞,比如is a are 的 得 我 等,這些詞會在句子中多次出現卻無意義,所以在分詞...

搜尋引擎solr系列 solr分詞配置

分詞我理解的是,輸入的一句話,按照它自己定義的規則分為常用詞語。首先,solr有自己基本的型別,string int date long等等。對於string型別,比如在你的core conf manage schema檔案中,配置乙個字段型別為string型別,如果查詢符合 我是中國人 的資料,它...

solr 配置中文分詞

要在中文的專案中使用 solr 少不了要整合中文分詞元件。本篇以 ik2012 分詞為例,講解如何在 solr 3.5 中及整合中文分詞,使用 ik 的原因 ik 比其他中文分詞維護的勤快,和 solr 整合也相對容易。fieldtypename text zh class solr.textfie...