问题标签 [elasticsearch-net]

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 回答
6059 浏览

contains - C# .Contains() 的 ElasticSearch NEST 替代方案

在我的个人项目从Redis迁移到 ElasticSearch 之后,我需要一些大师的帮助。基本要求如下:

  1. 索引包含专辑类型的 POCO,其中包含艺术家、标题、年份等字段
  2. 当用户输入搜索词时,例如“2”,我应该得到上述字段包含搜索词的专辑
  3. 它应该与“2 States”等专辑名称、“2 Pac”等艺术家和“2014,1992..etc”中的年份匹配

我的代码按预期工作,但我使用的是通配符,我相信这会影响性能。代码如下:

有什么改进查询的建议吗?

0 投票
0 回答
71 浏览

c# - 什么会导致 IMultisearchResponse 的 ConnectionStatus.Request 为空?

我从我在Github上提出的问题中交叉发布了这个问题。

我正在尝试记录我为更好地调试一些内部问题而发出的请求,显然在执行之后var results = await _client.MultiSearchAsync(...),有时results.ConnectionStatus.Request会返回为空。

我正试图找出会导致这种情况的原因;潜在地,它似乎不会以任何形式的一致性发生。

0 投票
1 回答
395 浏览

elasticsearch - 基于属性的索引提示改变了我的结果

我的这个查询自从我第一次工作以来就没有改变过:

MyIndexManager.GetClient()只负责建立与 ElasticSearch 的连接,并确保正确构建索引。其余代码获取可向公众发布的最新文章系列。

在里面IndexManager我设置了显式索引映射,当我这样做时,我每次都从我的查询中得到结果。代码如下所示:

虽然一切都很好,但对我们存储的每种类型都这样做并不能很好地扩展。所以我有意识地决定使用属性并以这种方式映射它:

一旦我这样做,我就不再得到结果。当我在 Kibana 中查看我的索引时,我看到我的 'releasableTo' 字段没有被分析并且它被索引了。但是我写的查询不再有效。如果我删除过滤器子句,我会得到结果,但我真的需要它来工作。

我错过了什么?如何让我的查询再次起作用?

0 投票
1 回答
353 浏览

nest - Elasticsearch 嵌套组合过滤器问题

我在 asp.net mvc 应用程序中使用 elasticsearch 嵌套。

跟随 elasticsearch 查询会引发异常,因为类别和品牌等字段可能为空或为空。如何添加 if 语句并有条件地构建过滤器。谢谢!

我必须使用 bool & must 来组合(AND)过滤器来满足搜索条件。例如,用户想要“鞋子”类别和零售商“macys”中的产品。

0 投票
1 回答
1548 浏览

.net - Nest (Geo)Location 的经度总是 0?

我一直在深入研究将 NEST 用于基于 .Net 的项目,该项目将使用 ElasticSearch,但让我一直或一直困惑的是 GeoDistance 查询从未返回任何结果。

在调试简单“*”查询的响应并查看搜索结果的 .Documents 时,所有文档实例的经度值均为 0.0 - 但纬度是正确的。

这是一个简单的 ES 服务器,就像它获得时一样新鲜(下载并运行),没有任何(重新)配置......对于托管在 FacetFlow 的服务器来说也是如此。

至于版本,Elasticsearch.Net 和 NEST 是 1.4.3,ElasticSearch 本身是 1.4.4 版本。

我在这里缺少什么或更准确地说-我在这里缺少什么?

示例代码如下所示(下面使用的GeoLocation类是Nest.GeoLocation类):

0 投票
2 回答
1287 浏览

elasticsearch - 在弹性搜索中使用 MinimumShouldMatch 和术语查询

我正在为 elasticsearch 编写一个与国家列表匹配的嵌套查询 - 只要列表中的任何国家出现在 ESCountryDescription(国家列表)中,它就会立即匹配。我只想在 CountryList 中的所有国家/地区都匹配 ESCountryDescription 时进行匹配。我相信我需要在这个例子中使用 MinimumShouldMatch http://www.elastic.co/guide/en/elasticsearch/reference/0.90/query-dsl-terms-query.html

但是我找不到将 MinimumShouldMatch 添加到上面的查询中的方法。

0 投票
3 回答
2221 浏览

elasticsearch - ElasticSearch NEST 查询

我试图模仿我在 C# 中使用 NEST 在 Sense(chrome 插件)中编写的查询。我无法弄清楚这两个查询之间的区别是什么。Sense 查询返回记录,而嵌套查询不返回。查询如下:

这两个查询有什么区别?为什么一个返回记录而另一个不返回?

0 投票
1 回答
156 浏览

elasticsearch - Elasticsearch NEST 翻译

我有一个搜索,它给出了正确的结果并试图让它在 .NET Nest 中工作,但我似乎无法获得正确的语法。这是我拥有的 elastricsearch 查询:

在我的解决方案中,我有以下内容:

有谁熟悉 Nest 知道我怎样才能得到相同的结果?谢谢!

0 投票
0 回答
537 浏览

c# - Elasticsearch - 更新别名时缺少索引

根据这篇博文:https ://www.elastic.co/blog/changeing-mapping-with-zero-downtime/ ,我正在使用推荐的最佳实践来更新生产中的索引,使用别名实现零停机时间。尽管如此,当更新运行时,我们会定期在我们的应用程序中看到“索引丢失”异常。我似乎无法诊断这种行为,我不确定问题可能是什么。

当前流程

  • 确定默认别名所针对的索引(最多有 1 个)
  • 通过附加/递增计数器来对当前索引名称进行排序:index-name-v1
  • 创建新索引并填充数据
  • 一次操作更新别名:删除旧索引并添加新索引
  • 从现在的当前索引中删除 -2 版本的索引——这样做是为了确保在别名更新之前返回数据的索引不会被删除

尽管如此,我们在查询数据时还是会遇到随机和常规的索引缺失错误。别名永远不会被删除,只会自动更新。这种方法有什么我没有考虑的缺陷吗?

0 投票
1 回答
4292 浏览

elasticsearch - 使用 NEST 和 QueryRaw 进行 Elasticsearch 查询

我有以下弹性搜索查询:

我正在尝试使用 NEST 客户端进行弹性搜索并使用“ QueryRaw ”属性运行此查询,但出现错误。

有人可以在我出错的地方提供一些输入吗

错误日志: