schema.xml 中的字段类型定义

字段类型定义在 schema.xml 的 types 这个元素里头。这里是一个字段类型定义的例子

&lt;fieldType name=&quot;textTight&quot;</p>
<p>positionIncrementGap=&quot;100&quot; &gt;</p>
<p>&lt;analyzer&gt;</p>
<p>&lt;tokenizer/&gt;</p>
<p>&lt;filter</p>
<p>synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;false&quot;/&gt;</p>
<p>&lt;filter</p>
<p>generateWordParts=&quot;0&quot; generateNumberParts=&quot;0&quot;</p>
<p>catenateWords=&quot;1&quot; catenateNumbers=&quot;1&quot; catenateAll=&quot;0&quot;/&gt;</p>
<p>&lt;filter/&gt;</p>
<p>&lt;filter</p>
<p>language=&quot;English&quot; protected=&quot;protwords.txt&quot;/&gt;</p>
<p>&lt;filter/&gt;<br />
&lt;/analyzer&gt;</p>
<p>&lt;/fieldType&gt;

以上例子的第一行包含了字段类型名称,textTight,和字段的处理的实现类,solr.TextField。这一实现类用于保证字段可以被正确的处理。在这个文件里,一些事项类采用了缩写,solr.TextField其实就是 org.apache.solr.schema.TextField

Solr 字段类型

Solr 的一个字段类型包括四个部分:

  • 字段类型名称,一个字段通过引用改名称来指定其是哪个类型的
  • 实现类名称,表示该类型的字段通过这一实现类来处理
  • 分析器,文本类型的字段会包含该描述,可以指定索引时用什么分析器,搜索这一类型字段时用什么分析器。配置切词器就是在这个地方配置的。
  • 字段属性

DIH 之 Entity Processors

Entity processors 负责抽取数据,然后发送给 Solr 索引。例子中的 实体包括视图和表中的数据。
以下是 Entity processors 中常用的属性:
datasource:
指定数据源的名称,当有多个数据源时,需要该名称来决定使用哪个数据源
name:
必选,指定实体唯一的名称
pk:
实体的主键,只有到使用delta-imports是,它的值才是必须。
processor:
默认是 SQLEntityProcessor,如果数据源不是关系型数据库,该值必填
onError:
容错值,可选有:abort|skip|continue,默认为 abort。 skip 是跳过当前document,continue 是忽略错误继续执行。
preImportDeleteQuery:
在执行 full-import 之前的删除语句
postImportDeleteQuery:
在 full-import 完成后执行的语句

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress   闽ICP备18020075号-1