平臺默認的搜索對於中文不是很理想,爲了讓商品的搜索更加本地化需要在建立索引的時候配置一箇中文分詞器。
版本信息:
Broadleaf-5.1.2 + Tomcat7
由於 Broadleaf-5.1.2 使用的是 Solr5.3 ,導致找了很多ik的版本都不行,最後Google到一個可用的版本:
https://github.com/EugenePig/ik-analyzer-solr5
下面是配置過程:
1、打開上述URL並下載代碼,然後按照 readme install 到本地 Maven 庫;
2、在 site 工程的 pom.xml 中添加如下依賴:
<dependency>
<groupId>org.wltea.ik-analyzer</groupId>
<artifactId>ik-analyzer-solr5</artifactId>
<version>5.x</version>
<exclusions>
<exclusion>
<artifactId>lucene-core</artifactId>
<groupId>org.apache.lucene</groupId>
</exclusion>
<exclusion>
<artifactId>lucene-queryparser</artifactId>
<groupId>org.apache.lucene</groupId>
</exclusion>
<exclusion>
<artifactId>lucene-analyzers-common</artifactId>
<groupId>org.apache.lucene</groupId>
</exclusion>
</exclusions>
</dependency>
注意:由於項目中已有了Lucene相關庫,爲了避免衝突這裏排除了ik的三個依賴
3、修改 site/src/main/resources/schema.xml 中的 "text_general" 類型,如下:
<fieldType name="text_general" class="solr.TextField">
<analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer" />
<analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType>
4、大功告成,啓動測試。如果對於分詞效果還不滿意,貌似ik支持自定義詞典,那就是另一個話題了。