【发布时间】:2019-06-14 15:21:03
【问题描述】:
term suggester documentation 列出了术语建议器的基础知识,但它让我想知道如何从多个字段中找到建议并将它们组合起来。我可能会在事后想出一些实现,但我想知道是否缺少一些设置。
例如,假设我想从三个不同的领域获得建议
GET product-search-product/_search
{
"suggest": {
"text": "som typu here",
"my-suggest-1": {
"term": {
"size": 1,
"max_edits": 1,
"prefix_length": 3,
"field": "field_one"
}
},
"my-suggest-2": {
"term": {
"size": 1,
"max_edits": 1,
"prefix_length": 3,
"field": "field_two"
}
},
"my-suggest-3": {
"term": {
"size": 1,
"max_edits": 1,
"prefix_length": 3,
"field": "field_three"
}
}
}
}
这会返回我可以使用的结果,但我必须弄清楚哪个字段有“最佳”建议。
"suggest": {
"my-suggest-1": [
{
"text": "som",
...
"options": [
{
"text": "somi"
...
}
]
},
{
"text": "typu",
...
"options": [
{
"text": "typo"
...
}
]
},
{
"text": "here",
...
"options": []
}
],
"my-suggest-2": [
{
"text": "som",
...
"options": [
{
"text": "some"
...
}
]
},
{
"text": "typu",
...
"options": []
},
{
"text": "here",
...
"options": []
}
],
"my-suggest-3": [
{
"text": "som",
...
"options": []
},
{
"text": "typu",
...
"options": [
{
"text": "typa"
...
}
]
},
{
"text": "here",
...
"options": []
}
]
}
在我看来,好像我必须实施一些措施来确定哪个领域提出了最佳建议。有没有办法将这些组合在建议器中以便它可以为我做到这一点?
【问题讨论】:
标签: elasticsearch elastic-stack search-suggestion