对于单个输入建议列表,以下代码有效:
var completionField = new CompletionField
{
Input = completionList,
Weight = weight
};
this.Suggest = completionField;
但是我希望有多个具有不同权重的建议列表,并且能够搜索单个完成字段。我不确定如何在Nest中完成此操作。
我确实看到了它的支持:
PUT music/song/1?refresh
{
"suggest" : [
{
"input": "Nevermind",
"weight" : 10
},
{
"input": "Nirvana",
"weight" : 3
}
]
}
最佳答案
如果您这样定义完成字段:
[Completion]
public List<CompletionField> Suggest { get; set; }
并提供完成字段列表(如果需要,可以使用不同的权重),您将在索引中得到以下内容。
"suggest": [
{
"input": [
"higherweightedterm"
],
"weight": 1000
},
{
"input": [
"lowerweightedterm"
],
"weight": 100
}
]
关于elasticsearch - 如何创建具有多个权重不同的输入的CompletionField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46457002/