Apache Solr基本配置

本文介绍如何安装 Solr 6.4.2 并进行基本配置,包括创建 Core、配置索引字段、实现中文分词及文件处理等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装solr,以6.4.2为例

1、下载安装solr

下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.4.2

2、下载解压后cmd进入solr-6.4.2\bin目录并输入命令:solr start (默认端口8983) 或者 solr start -p xxxx(指定启动端口)


3、浏览器访问http://localhost:8080/solr,即可看到solr页面

 

二、 创建core

1、在solr-6.4.2\server\solr文件夹下创建Core的文件夹,如:my_solr。

2、把solr-6.4.2\server\solr\configsets\basic_configs文件下的conf文件夹复制到1中创建的文件夹my_solr里面。

3、在http://localhost:8080/solr页面点击Code Admin,填写好新增核心的表单,其中name、instanceDir要与1中创建的文件夹名称一致。点击Add Core即完成Core的创建。


三、 配置索引字段

方法一:可以在http://localhost:8080/solr里面选择自己的核心Core,点击Scheam进行添加,修改。

方法二:直接在solr-6.4.2\server\solr\my_solr\conf文件夹里面的managed-schema文件进行添加修改。

   字段配置Field:

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

name:字段名称

type:字段类型

indexed:是否可被索引

stored:字段内容是否需要返回给搜索结果

  required:字段必须有值

multiValued:是否多值字段,用于数组,集合

       注意:<field name="_version_" type="long" indexed="true" stored="true"/>类似这样的字段(两端为下划线的字段为保留字段)为保留字段。

   动态字段dynamicField:

  <dynamicField name="*_i"type="int" indexed="true" stored="true"/>

   复制字段copyField:

<copyField source="firstName" dest="text"/> 

<copyField source="lastName" dest="text"/> 

把多个字段合并在一起,如上面的firstName和lastName,当搜索text字段时,即搜索firstName和lastName


四、 solrjava中的使用

参考API: https://cwiki.apache.org/confluence/display/solr/Using+SolrJ

五、 配置中文分词查询器

1、下载mmseg4j-2.3.0以上版本查询器: https://github.com/chenlb/mmseg4j-solr

2、下载完后解压,把mmseg4j-core-1.10.0.jar,mmseg4j-solr-2.3.0.jar放到D:\solr-6.4.2\server\solr-webapp\webapp\WEB-INF\lib文件夹下。

3、配置managed-schema文件,增加如下类内容:

<fieldtype name="text_Complex" class="solr.TextField" positionIncrementGap="100">

  <analyzer>

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex"/>

  </analyzer>

</fieldtype>

<fieldtype name="text_MaxWord" class="solr.TextField" positionIncrementGap="100">

 <analyzer>

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />

</analyzer>

</fieldtype>

<fieldtype name="text_Simple" class="solr.TextField" positionIncrementGap="100">

  <analyzer>

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple"/>

  </analyzer>

</fieldtype>

4、修改需要分词的字段type,如:

<field name="title" type="text_Simple" indexed="true" stored="true" multiValued="false" />


六、 上传文件处理器

 <requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" >

      <lst name="defaults">

        <str name="lowernames">false</str>

     <str name="uprefix">ignored_</str>  //文件元数据是加上前缀

     <str name="fmap.meta">ignored_</str>//忽略fmap.meta开头的

       <str name="captureAttr">true</str>//是否需要文件的格式

      <str name="fmap.content">fcontent</str> // fmap.content赋值给fcontent

       </lst>

  </requestHandler>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值