elasticsearch 实施建议';xxx属于'类;使用弹性搜索
我想对产品实施类似亚马逊的“分类内”建议。亚马逊建议在特定类别中搜索给定术语,而不是进行全局搜索。这允许更具体的搜索和结果 有没有一种方法可以使用elasticsearch提供的建议功能之一来实现这一点
elasticsearch 实施建议';xxx属于'类;使用弹性搜索,
elasticsearch,e-commerce,search-suggestion,
elasticsearch,E Commerce,Search Suggestion,我想对产品实施类似亚马逊的“分类内”建议。亚马逊建议在特定类别中搜索给定术语,而不是进行全局搜索。这允许更具体的搜索和结果 有没有一种方法可以使用elasticsearch提供的建议功能之一来实现这一点 目前,我的想法是从elasticsearch中获取建议,并将其按类别分组,作为后处理。是否有内置内容,返回现成的“类别内”结果 如果您事先知道类别,您可以使用将它们作为有效负载传递 我创建了这个示例索引 PUT suggest_index/product/_mapping { "produ
目前,我的想法是从elasticsearch中获取建议,并将其按类别分组,作为后处理。是否有内置内容,返回现成的“类别内”结果 如果您事先知道
类别
,您可以使用将它们作为有效负载
传递
我创建了这个示例索引
PUT suggest_index/product/_mapping
{
"product": {
"properties": {
"name": {
"type": "string"
},
"suggest": {
"type": "completion",
"analyzer": "simple",
"search_analyzer": "simple",
"payloads": true
}
}
}
}
然后我插入了两个产品,在有效负载中提供类别
PUT suggest_index/product/11
{
"name": "watches",
"suggest": {
"input": [
"watches"
],
"payload": {
"categories": [
"Men",
"Women",
"Kids"
]
},
"weight": 10
}
}
及
然后当你查询时,你会得到所有类别的建议
POST suggest_index/_suggest
{
"product-suggest": {
"text": "pho",
"completion": {
"field": "suggest"
}
}
}
这是我得到的输出
"product-suggest": [
{
"text": "pho",
"offset": 0,
"length": 3,
"options": [
{
"text": "phones",
"score": 10,
"payload": {
"categories": [
"Electronics",
"Office Products"
]
}
}
]
}
]
现在您可以在前端显示它们,当用户点击搜索按钮时,您可以在可能不同的索引中搜索该类别和产品信息
这是否满足您的要求?您是否提前知道
类别
,即当您索引数据时,比如说电话
,您是否了解电子产品
,办公产品
等?或者您想单独查询类别?是的,我预先知道类别
。如果您用名称手机
为其他产品编制索引,您将得到两个结果:手机
和手机
。类别将不会分组。但也许我看得太远了。也许在类别上进行简单的聚合就可以了。。是的,你是对的,但正如你所说的聚合可以帮助你。
"product-suggest": [
{
"text": "pho",
"offset": 0,
"length": 3,
"options": [
{
"text": "phones",
"score": 10,
"payload": {
"categories": [
"Electronics",
"Office Products"
]
}
}
]
}
]