elasticsearch multi_match的一个小坑
·
安利一篇我翻译的国外大牛的神经网络入门文章
最近在使用elasticsearch的multi_match搜索时候,使用下面的body对一个字段下的所有字段进行递归搜索,但是当这些子字段出现数值类型的时候,就会报异常了,具体讨论可以参考
https://github.com/elastic/elasticsearch/issues/3975
解决方法是加入lenient
字段,参考下面的body
{
"query": {
"bool": {
"should": [
{
"match": {
"user_id": {
"query": "qwe",
"boost": 5
}
}
},
{
"multi_match": {
"query": "qwer",
"lenient": "true", --ignore values that don't fit specific fields
"fields": [
"device_brand",
"device_manufacturer",
"user_properties.*" ---表明搜索此字段下的所有子字段
]
}
},
{
"query_string": {
"query": "*qwe*",
"default_field": "user_id",
"boost": 5
}
}
]
}
},
"size": 10,
"sort": ["_score",{"session_id": "asc"}]
更多推荐
已为社区贡献2条内容
所有评论(0)