我要求能够搜索完整或带前缀的句子。我正在使用的 UI 库(反应式搜索)以这种方式生成查询:
"simple_query_string": {
"query": "\"Louis George Maurice Adolphe\"",
"fields": [
"field1",
"field2",
"field3"
],
"default_operator": "or"
}
我期待它返回结果,例如。
Louis George Maurice Adolphe (Roche)
但不仅仅是包含部分术语的记录,例如Louis
或George
目前,我有这样的代码,但如果我使用完整的单词Louis George Maurice Adolphe (Roche)
而不是前缀进行搜索,它只会带来记录Louis George Maurice Adolphe
。
{
"settings": {
"analysis": {
"char_filter": {
"space_remover": {
"type": "mapping",
"mappings": [
"\\u0020=>"
]
}
},
"normalizer": {
"lower_case_normalizer": {
"type": "custom",
"char_filter": [
"space_remover"
],
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"_doc": {
"properties": {
"field3": {
"type": "keyword",
"normalizer": "lower_case_normalizer"
}
}
}
}
}
对上述任何指导表示赞赏。谢谢。