如何使用Nest客户端库索引 / 插入(我可以映射)一个对象,以便能够提供以下选项:
"input": ...,
"output": ...,
"payload" : ...,
"weight" : ...
我希望能够在'输入'中提供多个值。选项。 无论如何都无法使用NEST进行此操作。
谢谢
答案 0 :(得分:4)
NEST提供SuggestField类型,以协助索引完成建议。您不一定需要使用此类型,您可以提供自己的类型包含预期的完成字段(input
,output
等...),但SuggestField
的目的是通过提供烘焙类型使整个过程更容易。
<强>用法:强>
将建议字段添加到要编制索引的文档/类型中:
public class MyType
{
public SuggestField Suggest { get; set; }
}
您的映射应如下所示:
client.Map<MyType>(m => m
.Properties(ps => ps
.Completion(c => c.Name(x => x.Suggest).Payloads(true))
)
);
索引示例:
var myType = new MyType
{
Suggest = new SuggestField
{
Input = new [] { "Nevermind", "Nirvana" },
Output = "Nirvana - Nevermind",
Payload = new { id = 1234 },
Weight = 34
}
};
client.Index<MyType>(myType);
希望有所帮助。