Elasticsearch分隔有效负载令牌过滤器

时间:2017-06-21 15:18:12

标签: elasticsearch

我正在尝试将delimited_payload_filter用于文本字段,但没有运气

继承人的要求:

PUT /myIndex
{
"settings": {
    "analysis" : {
        "analyzer" : {
            "kuku" : {
                "tokenizer" : "standard",
                "filter" : ["delimited_payload_filter"]
            }
        }
    }
},
"mappings": {
   "calls" : {
      "properties": {
            "text": {
                "type" : "text",
                "analyzer" : "kuku"
            }
       }
     }
 }
}       

}

然后我添加以下文档:

PUT /myIndex/calls/1
{
    "text" : "the|1 quick|2 fox|3"
}

我希望如果我将进行以下查询,我会得到一个打击,但我没有。

GET /myIndex/calls/_search
{
    "query": {
        "match_phrase": {
             "text": "quick fox"
         }
    }
}

1 个答案:

答案 0 :(得分:2)

将令牌生成器更改为“标准”以外的其他内容,例如“空白”。 “标准”是标记文本并去除“ |”在delimited_pa​​yload过滤器之前的定界符就有机会使用它。