我正在尝试使用针对C#.Net(NEST)的高级Elasticsearch客户端API的带有collate选项的词组建议程序。
我需要使用复合布尔查询作为PhraseSuggestCollateQuery类公开的Source属性的值。
想知道我是否可以使用某种方式在QueryContainer中构建查询并将查询序列化为JSON,以便用作Source属性的值。
var jsonStr = //JSON representaion of the phraseSuggesterQuery
然后获取要在Collate中使用的查询的JSON表示形式
以下是根据NEST API文档列出的示例语法:https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/suggest-usage.html
Collate = new PhraseSuggestCollate
{
Query = new PhraseSuggestCollateQuery
{
//Source = "{ \"match\": { \"{{field_name}}\": \"{{suggestion}}\" }}",
Source = jsonStr
},
Params = new Dictionary<string, object>
{
{ "field_name", "title" }
},
Prune = true
},