如何使用完成字段索引对象
How to index an object with completion fields
我如何 index/insert (我可以做映射)使用 Nest 客户端库的对象能够提供以下选项:
"input": ...,
"output": ...,
"payload" : ...,
"weight" : ...
我希望能够在 'input' 选项中提供多个值。
无论如何都找不到使用 NEST 执行此操作的方法。
谢谢
NEST 提供 SuggestField 类型以协助索引完成建议。您不一定需要使用此类型,您可以提供自己的包含预期完成字段(input
、output
等...),但 SuggestField
的目的是通过已经提供烘焙类型来简化整个过程。
用法:
向您正在编制索引的 document/type 添加一个建议字段:
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);
希望对您有所帮助。
我如何 index/insert (我可以做映射)使用 Nest 客户端库的对象能够提供以下选项:
"input": ...,
"output": ...,
"payload" : ...,
"weight" : ...
我希望能够在 'input' 选项中提供多个值。 无论如何都找不到使用 NEST 执行此操作的方法。
谢谢
NEST 提供 SuggestField 类型以协助索引完成建议。您不一定需要使用此类型,您可以提供自己的包含预期完成字段(input
、output
等...),但 SuggestField
的目的是通过已经提供烘焙类型来简化整个过程。
用法:
向您正在编制索引的 document/type 添加一个建议字段:
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);
希望对您有所帮助。