1.solr
Solr 是Apache下的一个*开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr可以从Solr官方网站(http://lucene.apache.org/solr/ )下载,解压后目录如下:
bin:solr的运行脚本
contrib:solr的一些贡献软件/插件,用于增强solr的功能。
dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
docs:solr的API文档
example:solr工程的例子目录:
l example/solr:
该目录是一个包含了默认配置信息的Solr的Core目录。
l example/multicore:
该目录包含了在Solr的multicore中设置的多个Core目录。
l example/webapps:
该目录中包括一个solr.war,该war可作为solr的运行实例工程。
licenses:solr相关的一些许可信息
solr 需要运行在一个Servlet容器中,Solr4.10.3要求jdk使用1.7以上;
2.Solr整合tomcat:
- 将dist\solr-4.10.3.war拷贝到Tomcat的webapp目录下改名为solr.war
新建 F:\data 目录 ,拷贝:solr-4.10.0\example\solr 文件夹到 F:\date
修改 D:\data\solr\collection1\conf\solrconfig.xml,将<dataDir>${solr.data.dir:}</dataDir> 改<dataDir>${solr.data.dir:F:/data/solr/collection1/data}</dataDir>
- 修改 apache-tomcat-8.0.12\webapps\solr\WEB-INF\web.xml,将
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->改为:
-
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:/data/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>5.拷贝example\lib\ext 目录下所有jar包到Tomcat的webapp\solr\WEB-INF\lib目录下
- 拷贝log4j.properties文件在 Tomcat下webapps\solr\WEB-INF目录中创建文件 classes文件夹,复制Solr目录下example\resources\log4j.properties至Tomcat下webapps\solr\WEB-INF\classes目录
- 启动tomcat 访问 :http://localhost:8080/solr
-
3.安装中文分词器
第一步:配置IKAnalyzer的jar包
拷贝IKAnalyzer的文件到Tomcat下Solr目录中将IKAnalyzer2012FF_u1.jar拷贝到 Tomcat的webapps/solr/WEB-INF/lib 下。
第二步:IKAnalyzer的配置文件
在Tomcat的webapps/solr/WEB-INF/下创建classes目录
将IKAnalyzer.cfg.xml、ext_stopword.dic mydict.dic copy到 Tomcat的
webapps/solr/WEB-INF/classes
注意:ext_stopword.dic 和mydict.dic必须保存成无BOM的utf-8类型。
第三步:修改schema.xml文件
修改schema.xml文件
修改Solr的schema.xml文件,添加FieldType:
<fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>
第四步:设置业务系统Field
设置业务系统Field
<field name="item_title" type="text_ik" indexed="true" stored="true"/> <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/> <field name="item_price" type="long" indexed="true" stored="true"/> <field name="item_image" type="string" indexed="false" stored="true" /> <field name="item_category_name" type="string" indexed="true" stored="true" /> <field name="item_desc" type="text_ik" indexed="true" stored="false" /> <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="item_title" dest="item_keywords"/> <copyField source="item_sell_point" dest="item_keywords"/> <copyField source="item_category_name" dest="item_keywords"/> <copyField source="item_desc" dest="item_keywords"/>
1. 拷贝example\lib\ext 目录下所有jar包到Tomcat的webapp\solr\WEB-INF\lib目录下