我有一些查询
{ type: 'Wandering',
zone: '1',
personName: 'Dmytro',
personRoom: 'Room_73' } }
使用通配符和模糊与查询字符串,但看起来,当我键入'Wandring'或'wadnering'时,我预计模糊会产生转置。
'query': {
'query_string' : {
'query': `*${search}*~1 OR *${search}~1`,
'analyze_wildcard': true,
},
}
,
定义映射。也许这取决于文件索引的方式 映射
{
"call": {
"mappings": {
"Call": {
"properties": {
"personName": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"personRoom": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"type": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"zone": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
答案 0 :(得分:0)
这应该有效:
'query_string' : {
'query': `${search}~1`,
'analyze_wildcard': true,
}
关于通配符,我建议在查看之前查看alternative search types。它们特别沉重,在搜索时表现不佳,特别是领先的通配符。