0

有没有办法使用 NEST 调用模板查询?有没有例子?

4

3 回答 3

0

搜索模板端点还没有映射到 NEST中,并且带来了一些挑战,因为它与通常构造查询的方式非常不同。我们现在实际上正在研究这个(在这个分支中),并希望在即将发布的 1.1 版本中获得这个功能。这是用于跟踪目的的原始问题的链接。

编辑:忘了提,端点在低级 Elasticsearch.Net 客户端上可用,您可以通过以下方式访问ElasticClient

var client = new ElasticClient(...);
client.Raw.SearchTemplate(...);
于 2014-09-05T19:20:27.937 回答
0

搜索模板端点已在 NEST 2.x 中映射。

这里有一个关于模板的一般示例: https ://www.elastic.co/guide/en/elasticsearch/client/net-api/2.x/template-query-usage.html

以下是有关如何通过 collat​​e 选项在短语建议中使用内联模板的一些信息: https://www.elastic.co/guide/en/elasticsearch/client/net-api/2.x/suggest-usage。 html

这是我在 GitHub 上发布的一个问题,其中包含有关如何将模板保存到 Elastic 的一些信息: https ://github.com/elastic/elasticsearch-net/issues/2176

下面是如何使用 NEST 的一般示例:

var templateRequest= new PutSearchTemplateDescriptor(new Id("my_template"));

templateRequest.Template("{\"multi_match\":{\"query\":{\"query\":\"{{suggestion}}\",\"fields\":[\"field1\",\"field2\"]}}}");

var response = ElasticClient.PutSearchTemplate(templateRequest);

在建议整理中使用模板时:

.Collate(c => c
    .Query(q => q
        .Indexed("my_template")
    )
    .Prune()
)
于 2016-08-01T08:26:43.123 回答
0

关于类似行的另一个问题,PutSearchTemplateDescriptor 是调用预注册模板的 write 方法吗?

我已将模板注册到 .scripts 但无法找到从 NEST 客户端调用模板的正确方法

于 2016-09-14T19:27:25.590 回答