Solor

Solor 简介

** Solr** 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行,运行在JettyTomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xmljson等格式的查询结果进行解析,组织页面布局。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/>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容