回答

0

search template端点未在NEST中映射,并带来一些挑战,因为它与查询通常构造方式有很大不同。我们实际上正在研究这个问题(in this branch),并且希望在即将到来的1.1版本中获得此功能。这里有一个链接到original issue用于跟踪目的。

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

var client = new ElasticClient(...); 
client.Raw.SearchTemplate(...); 
+0

我知道低层elasticsearch.net提供这一点,但很好奇,就巢侧模板正确的方法。谢谢你的确认。 – 2014-09-05 20:23:36

0

搜索模板端点巢2.X被映射。

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

下面是关于如何联模板可以用一句话建议可以使用自动分页选项的一些信息: 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() 
) 
0

另一个问题上similiar线,是PutSearchTemplateDescriptor write方法调用预先regsitered模板?

我已经注册了模板的.scripts中,但无法找到调用来自NEST客户

+0

欢迎您发布这个新的问题! – alexbt 2016-09-14 19:46:46