2017-05-08 25 views
0

我遇到了一个问题,我想使用托管的Elasticsearch服务,但他们明确没有我需要的插件。该插件是拼音插件,它提供了一个自定义标记器。我的想法是在插入Elasticsearch之前,在预处理步骤中复制这个标记。将预先标记化的文本插入到Elasticsearch中

举例来说,如果我叫_analyze?text=%e5%88%98%e5%be%b7%e5%8d%8e&analyzer=pinyin_analyzer我收到输出

{ 
    "tokens": [ 
    { 
     "token": "ldh", 
     "start_offset": 0, 
     "end_offset": 3, 
     "type": "word", 
     "position": 1 
    }, 
    { 
     "token": "liu", 
     "start_offset": 0, 
     "end_offset": 3, 
     "type": "word", 
     "position": 2 
    }, 
    { 
     "token": "hua", 
     "start_offset": 0, 
     "end_offset": 3, 
     "type": "word", 
     "position": 4 
    } 
    ] 
} 

我有办法产生一个预处理步骤是这样的标记,但它可能然后将其插入预分析到Elasticsearch指数?

回答

2

您可以创建一个标记值的数组。效果会一样。此外,如果您正在进行所有预处理而不仅仅是令牌化,请使用关键字字段。否则,您的令牌将再次单独分析。