映射:
{
"articles" : {
"mappings" : {
"data" : {
"properties" : {
"author" : {
"type" : "text",
"analyzer" : "standard"
},
"content" : {
"type" : "text",
"analyzer" : "english"
},
"tags" : {
"type" : "keyword"
},
"title" : {
"type" : "text",
"analyzer" : "english"
}
}
}
}
}
}
示例数据:
{
"author": "John Smith",
"title": "Hello world",
"content": "This is some example article",
"tags": ["programming", "life"]
}
因此,您可以看到我在不同领域使用不同的分析器进行映射。现在我想以下列方式搜索这些字段:
例如,以下查询应与上述文档匹配:
programing worlds john examlpe
我该怎么办?根据{{3}},fuzziness不会使用cross_fields,也不会使用不同的分析器。 一种方法是使用copy_to实现自定义_all字段并处理所有值,但是使用这种方法我不能指定不同的权重,也不能使用不同的分析器。