solr是什么
Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。
solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中。
solr原理
Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。
在 Solr 中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回 Solr 的标准 XML 响应,也可以配置 Solr 的备用响应格式。
Solr的安装与配置
安装
- Jdk
- Solr
- Tomcat
配置
/usr/local/solr/tomcat
- Solr整合tomcat
- 将dist\solr-4.10.3.war拷贝到Tomcat的webapp目录下改名为solr.war
- 启动tomcat后,solr.war自动解压,将原来的solr.war删除。
- 拷贝example\lib\ext 目录下所有jar包到Tomcat的webapp\solr\WEB-INF\lib目录下
- 创建solrhome
[root@localhost example]# cp -r solr /usr/local/solr/solrhome
- 修改Tomcat目录 下webapp\solr\WEB-INF\web.xml文件,如下所示:
设置Solr home:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
安装中文分词器
配置IKAnalyzer的jar包
将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
修改schema.xml文件
修改Solr的schema.xml文件,添加FieldType:
/solrhome/collection1/conf/schema.xml
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
设置业务系统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"/>
Dashboard操作
打开链接 http://192.168.176.102:8080/solr/#/
solr-dashboard.png