我正在使用 Elasticsearch 7.3 进行产品搜索。产品标题的格式不同,但我对此无能为力。
有些标题可能如下所示:
Ford Hub Bearing
和其他这样的:
Hub bearing for a Chevrolet Z71 - model number 5528923-01
如果有人搜索“雪佛兰轮毂轴承”,“福特轮毂轴承”产品排名第一,雪佛兰零件排名第二。如果我从产品标题中删除所有额外的文本(型号 5528923-01),雪佛兰零件会根据需要排名第一。
不幸的是,我无法修复产品标题,因此当有人搜索时,我需要能够将雪佛兰零件列为#1 Chevrolet Hub Bearing
。我只是将类型设置name
为并在我的索引中text
应用了分析器。standard
这是我的查询代码:
{
query:{
bool: {
must: [
{
multi_match:{
fields:
[
'name'
],
query: "Chevrolet Hub Bearing"
}
}
]
}
}
}