solr schema.xml文档节点配置

首先,讲解一下/usr/local/solr/collection1/conf/schema.xml的配置,此文档功能类似于配置索引数据库。

Field:类似于数据库字段的属性(此文统一使用用“字段”描述它),请看一条field

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

name:当前字段名 type:当前字段使用的分词类型(在schemal.xml文件的fieldType中进行配置) indexed:当前字段进行索引(当用户查询时可以使用到该字段) stored:当前字段进行存储(当用户查询到该字段时,能返回字段的原文) multiValued:当前字段可存在多个值(如:user字段可存储多个用户)

fieldType:字段处理,此类节点可以配置各种数据类型的处理方式,如:分词,过滤

<fieldType name="textComplex" class="solr.TextField">  
  <analyzer>  
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/usr/local/solr/dic"/>  
  </analyzer>  
</fieldType>  

copyField:当添加一条索引时,可将source字段的值复制到dest字段上去,可设置多个source字段指向同一个dest字段,这样对dest进行索引的话,可以查询到所有source字段的索引。

如:在一个新闻系统中,将标题,内容复制到一个统一的字段,这样搜索all字段时,只要title,content中任意存在就能被搜索到。

<copyField source="title" dest="all"/>
<copyField source="content" dest="all"/>

OK,此文档配置成功后,接下来可以添加一条索引试试效果,在solr的后台管理界面可以直接添加索引,并做查询,分析测试。

solr为我们准备了一些文档添加实例,可以参考一下:http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/exampledocs/

复制代码
<add>
  <doc>
    <field name="employeeId">05991</field>
    <field name="office">Bridgewater</field>
    <field name="skills">Perl</field>
    <field name="skills">Java</field>
  </doc>
  [<doc> ... </doc>[<doc> ... </doc>]]
</add>
复制代码

此配置文档还有两个重要的配置节点

  <uniqueKey>节点用于配置主键,跟数据库主键功能类似,主要用于标示一条数据,当要删除一条数据时可以用该值精确定位,当添加数据主键重复时可设置是覆盖,还是更新。

 <uniqueKey>clipId</uniqueKey>

   <defaultSearchField>节点用于配置查询默认字段,当查询数据时,未指定具体查询字段,将使用该默认字段。

 <defaultSearchField>_all</defaultSearchField>
原文地址:https://www.cnblogs.com/shaocan/p/3498095.html