Tag: elasticsearch

部分更新弹性搜索NEST 2.x.

如何在使用NEST2时部分更新记录? 我正在寻找一个模拟请求:POST / erection / shop / 1 / _update {“doc”:{“new”:“0”}} 没有重新创建新记录。 很遗憾,我没有在www.elastic.co/guide/en/elasticsearch/client/net-api/current/index.html上找到有关更新的任何信息。 更新: var updateResponse = es.Current.Update (DocumentPath.Id(2), descriptor => descriptor .Doc(new MyDocument { name = “new name” })); 我运行此代码,但它完全更新了整个文档。 结果https://gyazo.com/2fdae851bb8bc445f6e8e58abb2f0e3b我做错了什么?

Elasticsearch.net客户端无法进行基本搜索

我有一个基本的Elasticsearch查询,看起来像这样 POST /fruit/_search {“query”:{“term”:{“Name”:”banana”}}} 我得到了结果,当我在意义上跑时没有问题。 所以我尝试在elasticsearch.net中这样做 var requestBody = new { query = new { term = new { Name = “banana” } } }; var result = client.Search(“fruit”, requestBody); 我没有得到任何结果。 如果我只有一个带有新{}的搜索主体,那么我会获得点击,但不会被过滤。 我究竟做错了什么?

使用NEST渗透

我正在索引我的查询如下: client.Index(new PercolatedQuery { Id = “std_query”, Query = new QueryContainer(new MatchQuery { Field = Infer.Field(entry => entry.Message), Query = “just a text” }) }, d => d.Index(EsIndex)); client.Refresh(EsIndex); 现在,如何使用ES的filterfunction将传入的文档与此查询进行匹配? 说这个领域缺乏NEST文件将是一个巨大的轻描淡写。 我尝试使用client.Percolate调用,但它现在已被弃用,他们建议使用搜索api,但不告诉如何使用client.Percolate … 我正在使用ES v5和相同版本的NEST lib。

将对象序列化为JSON,然后使用它在弹性搜索中使用NEST发送查询

在使用NEST进行查询时,我感到有点困惑和沮丧,因为它看起来很受欢迎。 我在使用标准JSON时查询没有问题,所以我想知道是否有某种方法可以使用JSON对象进行查询,我在下面有代码 var query = “bkala”; var q = new { query = new { text = new { _all = “jane” } } }; var qJson = JsonConvert.SerializeObject(q); var hits = client.Search(qJson); 但是,我收到错误“无法从类型字符串转换为System.Func,Nest.ISearchRequest” 如果有人知道如何使用JSON对象进行简单查询,那将是非常棒的,提前加油。

使用NEST索引动态对象

我正在构建一个API应用程序,它基本上允许用户构建一个文档,该文档可以根据需要进行结构化,并存储在Elasticsearch中。 从本质上讲,我为用户提供了一个简单的界面来访问我们的Elasticsearch实例。 我试图让实现尽可能简单。 这是我到目前为止所处理的问题。 预期身体的对象: public class DocumentModel { public string Index { get; set; } public string Type { get; set; } public string Id { get; set; } [ElasticProperty(Type = FieldType.Nested)] public dynamic Document { get; set; } } 简单实施: [HttpPost] [Route(“”)] public IHttpActionResult Post(DocumentModel document) { Uri nodeLocation = new Uri(“http://localhost:9200”); IConnectionPool […]