这与one of my other question in Elastic
有关我必须在不同的表中索引大约150个字段,并且我希望其中一些字段能够被部分搜索。
我可以做的一件事(如上面问题的答案)是在我想要部分搜索的所有字段中设置分析器和搜索分析器。
但我确信弹性有更好的方法。我可以使用分析器预设定义我自己的字段类型,如'string',并将其设置为需要部分搜索的字段的类型吗?
答案 0 :(得分:0)
我不确定您是否可以定义自己的类型。但是你可以使用Dynamic Templates
来实现某些目标。
使用dynamic Templates
之类的:
PUT /my_index
{
"mappings": {
"my_type": {
"dynamic_templates": [
{
"analysed_string_template": {
"match": "*_someText",
"match_mapping_type": "string",
"mapping": {
"type": "string",
"analyzer": "your_analyser"
}
}
}
]
}
}
}
这将使您所有以someText
结尾的字符串被分析。您可以根据您的要求更改"match"
字段。
关于dynamic_templates
here
希望这会有所帮助..