问题标签 [nest2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
362 浏览

c# - 将我的代码移植到 NEST 2.0 和 ElasticSearch 2.0

我正在将我的 .NET C# WebAPI 从 NEST 1.0 移植到最新的 NEST 2.0。Elasticsearch 也已更新到 2.0。

.Filters()已替换为.Query()哪个很好。

但是,我找不到.SortAscending(). 有一个.Sort()但是我如何指定顺序?(升序降序)

Intellisense 表明我应该传递一个有用selector的类型IPromise,但一个简单的例子会更好。反正单靠intellisense真的看不懂……

0 投票
1 回答
200 浏览

c# - DynamicDictionary is gone on ElasticSearch 2.0 (Elasticsearch.Net)

In my previous code I was using a DynamicDictionary as a base class for my DataRecordDictionary document

So I was able to store the FileId, the Timestamp and a custom set of key-value pairs (note the base class)

Now, having updated to NEST2 and ElasticSearch2 the DynamicDictionary is gone but I still need to persist key-value pairs on the database.

Is there any new dictionary data structure I could use which is recognized by Elasticsearch and that can be stored in it?

0 投票
1 回答
111 浏览

c# - 在 NEST 2.0 中找不到 Add() 方法

这是我的 NEST2.0 POCO 声明:

这是它的映射:

看起来该.Add()方法不再存在(它在 NEST 1.0 中运行良好)

0 投票
0 回答
620 浏览

c# - ElasticSearch 2.0 上的批量写入 NEST 2.0 会引发 stackoverflow 异常

我在 ElasticSearch 1.0 和 NEST 1.0 上使用批量插入。现在我转移到 ElasticSearch 2.0 和 NEST 2.0 并且批量插入会引发 stackoverflow (!) 异常。我的直觉是无限递归正在发生,它消耗了整个堆栈。

这是我的 POCO

这就是我创建映射的方式:

批量插入分两步完成

首先我创建描述符:

然后我调用 NESTbulk()方法

调用时,我在 foreach 中得到了 stackoverflow 异常descriptor.Index()

编辑

mscorlib.dll 中出现“System.StackOverflowException”类型的未处理异常

不幸的是,由于异常发生在外部代码(系统或框架?)

0 投票
1 回答
321 浏览

c# - NEST 2.0 不会将某些字段保留到 ElasticSearch 2.0 中

这是我的文件:

如您所见,它继承自,Dictionary<string, object>因此我可以动态地向其添加字段(这是使聚合工作的要求)

我在这里存储映射:

现在我创建一个新记录并存储它:

记录得到实际存储,但文本字段没有持久化。这是从 ElasticSearch 2.0 返回的 JSON

如果我从字段中删除基类MyDoctext正确存储但显然字典内容不是(我还需要删除该.Add()位,因为文档不继承自 a Dictionary)。

如何存储text字段和字典内容?

0 投票
1 回答
1253 浏览

c# - NEST 异步调用

根据这个链接,NEST 2.0 内部刚刚转移到一个完全成熟的 async/await 实现。

这是否意味着 NEST 2.0 在内部以完全异步的方式工作?

如果不是,我们应该在调用 NEST API 时使用 async 吗?

0 投票
1 回答
162 浏览

c# - 如何在 NEST 2.0 中设置文档名称

我有一个Dictionary<string, object>正在使用 NEST 2.0 库插入到 ElasticSearch 2.0 中。

默认文档名称是Dictionary'2. 我不知道为什么 NEST 选择这个名字,但我想要更明智的名字,比如“ DataRecord

如何设置文档名称?

第二种选择是创建一个空的包装类,但这似乎有点矫枉过正

0 投票
1 回答
1778 浏览

c# - C# 使用弹性搜索计算地理距离(巢 2)

我正在实现一个能够接收 10 个最近对象的程序。作为我使用 ElasticSearch 的数据库,我的模型看起来像这样。

我创建了这样的索引

我像这样插入新文件

模型的所有值都已设置,并且可以正常工作。

但现在我想得到 10 公里范围内最近的 10 个。我这样查询

但它不返回任何文档,但如果我将距离值设置为 10000 公里,它会返回一个文档。

我在模型中使用的数据是:LAT:47.4595248 LON:9.6385962

我在搜索中使用的位置:LAT:47.4640298 LON:9.6389685

这些地方相距100米。有人可以帮我找出代码中的错误吗?是否有可能从弹性搜索服务器获得计算出的距离?

顺便说一句:我正在设置默认索引

编辑 我发现了错误:

我不得不改变纬度和经度的位置。

但是我没有得到计算出的距离,有人知道我怎么能得到距离吗?

此致

0 投票
2 回答
41 浏览

c# - NEST2:如何一次指定数据库索引名称

我们的 C# WebAPI 应用程序使用 ElasticSearch 数据库。我们正在使用 NEST2 来访问数据库。

代码中的所有 NEST2 查询都指定了数据库索引名称,这里是一个示例:

有时我们忘记在查询中指定索引名称......问题不会立即显现出来,因为 API 按预期工作并且一切都很好......只有当我们添加另一个包含一些类似文档的索引时,我们才会看到问题

是否可以在 NEST2 初始化后一次性指定索引名称?这样做我将避免记住在每个查询中插入它的负担

0 投票
2 回答
4635 浏览

c# - 使用 NEST 检查索引中是否存在文档

我正在重新索引我的索引,但每当我尝试删除一个不存在的文档时都会遇到问题,因此我需要检查该文档是否已经存在。

该方法只是在elasticsearch 文档中进行了解释。

我发现了一个包含一些有趣代码的问题,我已经尝试过

但是编译器给出了一个错误

无法将 lambda 表达式转换为类型“Nest.DocumentPath<object>”,因为它不是委托类型

我想我的错误是因为问题是指 NEST 1.x 而我使用的是 NEST 2.x。

我知道我可以做一个简单的查询,但我想知道是否有像 ES doc-exists这样的直接方式。

谢谢