7.2. 自定义分词器

LSQL提供了拓展自定义分词的方式。具体使用方法跟solr的schema.xml非常类似。

  1. 首先 编辑lib下的cl_field_type_define.txt文件,增加新的分词类型
<fieldType name="{类型名称}" class="solr.TextField" positionIncrementGap="100000"  omitNorms="true"  >
   <analyzer type="index">
     <tokenizer  class="{实现的类名称}"  {创建索引切词的一些参数}  />
   </analyzer>

   <analyzer type="query">
     <tokenizer  class="{实现的类名称}"  {搜索时候切词的一些参数}  />
   </analyzer>
</fieldType>

下面为内部的wildcard4的写法例子:
<fieldType name="wildcard4" class="solr.TextField" positionIncrementGap="100000"  omitNorms="true"  >
   <analyzer type="index">
    <tokenizer  class="cn.lucene.plugins.lucene.tokenizer.wildcard.api.CLWildcardFactory"  TokenLength="4"  isforsearch="false"  />
   </analyzer>

   <analyzer type="query">
    <tokenizer  class="cn.lucene.plugins.lucene.tokenizer.wildcard.api.CLWildcardFactory"  TokenLength="4"   isforsearch="true"  />
   </analyzer>
 </fieldType>
  1. 编辑lib下cl_field_type_list.txt文件,将分词类型映射(注册)成lsql的数据类型一行一个
wildcard4
wildcard8
  1. 然后将相关依赖的jar包放到lsql的lib目录下,并重启
  1. 建表示例
create table myntest(
c1 y_{类型注册名}_i,
c2 y_{类型注册名}_is,
c3 y_{类型注册名}_ismp
);
Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""