平台默认的搜索对于中文不是很理想,为了让商品的搜索更加本地化需要在建立索引的时候配置一个中文分词器。

版本信息: 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支持自定义词典,那就是另一个话题了。