Win10中安装solr-4.9

本文介绍了如何在Win10系统中安装和配置solr-4.9,包括solr的功能特性、依赖环境、安装步骤、新建核心以及配置IK Analyzer中文分词器。通过详细的步骤解析,帮助读者成功搭建solr服务器并实现中文分词的索引库管理。
摘要由CSDN通过智能技术生成

一、solr简介

solr是一个基于Lucene的Java搜索引擎服务器(是一套war程序),solr提供了层面搜索、命中醒目显示并且支持多种输出格式(XML、XSLT、JSON格式)。solr易于安装与配置,而且附带了一个基于HTTP的管理界面。solr包装并且扩展了Lucene,solr创建的索引与Lucene搜索引擎库完全兼容。

solr主要功能:

  1. 保存数据
  2. 建立索引,维护索引
  3. 数据检索(全文搜索、高亮显示、精确搜索)

solr依赖于  jdk1.7+  与  Tomcat7+

二、solr服务器搭建

1、官网上下载 solr 的程序安装包(稳定版本  solr4.9.1)

http://archive.apache.org/dist/lucene/solr/

2、将 dist\solr-4.9.1.war 文件复制到 tomcat 的 webapps 目录下,并将文件命名为 solr.war

3、复制 solr解压包下example\lib\ext 下所有的jar 到tomcat 的lib目录下

4、在计算机本地新建一个文件夹solr_home(当然你可以随便起名字), 然后复制 solr-4.9.1\example\solr 下的所有文件到 solr_home下

5、启动tomcat,待tomcat启动成功后,关闭tomcat。打开tomcat的webapps目录。注意, 此时solr的war包以及被解压成solr文件夹。删除tomcat 的webapps目录下的solr的war 包,保留solr文件夹。

6、修改配置文件 apache-tomcat-7.0.67\webapps\solr\WEB-INF\web.xml

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:\solr_home</env-entry-value>   // D:\solrhome  表示自己的solr_home文件所在路径
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

7、访问solr(http://localhost:端口号/solr/),出现solr管理界面表示成功

三、solr管理索引库

1、新建core(solr中,把配置的每一个模块叫做core),在solr_home目录下拷贝collection1文件夹,并且起名为test,打开test文件夹,修改core.properties文件,将name修改为test ,重启 tomcat ,点击左侧的下拉框(Core_Selector),出现test表示新建的 core 成功。

2、IK Analyzer中文分词器,是一个开源的,基于Java语言开发的轻量级的中文工具分词包。

  • 将 IKAnalyzer2012FF_u1.jar 添加到solr的lib目录下
  • 将扩展字典、停用字典、配置文件放在  D:\tomcat7-solr\webapps\solr\WEB-INF\classes 目录下
  • 修改 D:\solrhome\collection1\conf 下的 schema.xml 文件,配置一个FieldType,使用 IKAnalyzer ,然后在solr管理页面点击Analysis , 在Analysis Fieldname 下拉框中选中  text_ik  下面配置的 名称 。进行测试就可以看到分词后的分词效果。

<fieldType name="text_ik" class="solr.TextField">

     <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

3、配置域

域相当于数据库中的表字段,用户存放数据,用户根据业务定义相关的域(Field),域常用的属性有

  • name 指定域的名称
  • type 指定域的类型
  • indexed 是否索引
  • stored 是否存储
  • required 是否必须
  • multValued 是否多值

修改solrhome的schema.xml 文件  设置业务系统 Field ,其中  text_ik  是IKAnalyzer 配置好的名称。

<field name="item_goodsid" type="long" indexed="true" stored="true"/>

<field name="item_title" type="text_ik" indexed="true" stored="true"/>

<field name="item_price" type="double" indexed="true" stored="true"/>

<field name="item_image" type="string" indexed="false" stored="true" />

<field name="item_category" type="string" indexed="true" stored="true" />

<field name="item_seller" type="text_ik" indexed="true" stored="true" />

<field name="item_brand" type="string" indexed="true" stored="true" />

复制域:复制域的作用在与将某一个 field 中的数据复制到另外一个 域中

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_category" dest="item_keywords"/>

<copyField source="item_seller" dest="item_keywords"/>

<copyField source="item_brand" dest="item_keywords"/>

动态域:当需要动态扩充字段时,就需要使用动态域。在项目《品优购》中,规格字段的值是不确定的,所以需要动态域实现其效果。

        “item_spec_网络制式”:“5G”,

        “item_spec_屏幕尺寸”:“6寸”,

<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值