我的索引中有以下文档结构:
{
firstName: "A",
lastName: "b",
title: "CEO",
phone: "1900900900",
department: "Product"
}
我想知道分析和标记此文档的最佳方法是什么,因此我可以对该文档执行搜索(不区分大小写)。搜索由最终用户通过网站完成。
所以我做的是设置以下映射:
{
"settings": {
"analysis": {
"analyzer": {
"lowercase": {
"type": "custom",
"tokenizer": "keyword",
"filter": ["lowercase"]
}
}
}
},
"mappings": {
"my_type": {
"dynamic_templates": [{
"field_unanalyzed": {
"match_mapping_type": "string",
"mapping": {
"type": "string",
"analyzer": "lowercase"
}
}
}
]
}}}
执行搜索时,我将查询小写,然后运行搜索查询。 因此,例如,如果用户查询firstname字段,则使用" a"或" A"搜索应该返回上面的文档。
有意义吗? 有没有更好的方法呢?