Solor 简介
** Solr** 是Apache
下的一个顶级开源项目,采用Java
开发,它是基于Lucene
的全文搜索服务器。Solr
提供了比Lucene
更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr
可以独立运行,运行在Jetty
、Tomcat
等这些Servlet
容器中,Solr
索引的实现方法很简单,用 POST
方法向 Solr
服务器发送一个描述 Field
及其内容的 XML
文档,Solr
根据xml
文档添加、删除、更新索引 。Solr
搜索只需要发送 HTTP GET
请求,然后对 Solr
返回Xml
、json
等格式的查询结果进行解析,组织页面布局。Solr
不提供构建UI的功能,Solr
提供了一个管理界面,通过管理界面可以查询Solr
的配置和运行情况。
Solor安装及Solr使用指南
tar -zxvf solr-4.10.3.tgz.tgz
bin:solr的运行脚本
contrib:solr的一些贡献软件/插件,用于增强solr的功能。
dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
docs:solr的API文档
example:solr工程的例子目录:
example/solr:该目录是一个包含了默认配置信息的Solr的Core目录。
example/multicore:该目录包含了在Solr的multicore中设置的多个Core目录。
example/webapps:该目录中包括一个solr.war,该war可作为solr的运行实例工程。
licenses:solr相关的一些许可信息
Solr依赖环境
Jdk:jdk1.7.0_72
Tomcat:apache-tomcat-7.0.53
cp -r solr-4.10.3/dist/solr-4.10.3.war /usr/local/tomcat/webapps/solr.war
cd /usr/local/tomcat/bin/
./startup.sh #solr.war自动解压
./shutdown.sh #关闭tomcat
rm -rf solr.war
cp solr-4.10.3/example/lib/ext/*.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/
cp solr-4.10.3/example/resources/log4j.properties /usr/local/tomcat/webapps/solr/WEB-INF/classes/
# 创建Solorhome
cp -r solr-4.10.3/ /usr/local/solr
cd /usr/local/solr/example
cp -r solr solrhome
pwd /usr/local/solr/example/solrhome
vim web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/example/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
./startup.sh
IKAnalyzer配置
mkdir webapps/solr/WEB-INF/classes
cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib
cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic webapps/solr/WEB-INF/classes
vim /usr/local/solr/example/solrhome/collection1/conf/schema.xml
#配置FeilType
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<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"/>
Solor 索引库维护
"item_price":12,"item_title":"shutdown" #添加:添加一个json格式文件
"item_price":12,"item_title":"shutdown" # 修改:新增会自动覆盖
#删除:在Documents 中选xml格式的
<delete>
<id>change.me</id>
</delete>
<commit/>
或者
<delete>
<query>*:*</query>
</delete>
<commit/>