问题标签 [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 回答
126 浏览

elasticsearch - 建议字段数组

我有一个包含标签数组的文档。我需要创建一个与此标签字段对应的建议字段(根据标签数组中的值生成标签建议)。我主要使用 NEST 与弹性搜索进行交互。但我无法更新建议属性。用于文档的类包含以下文档结构:

我添加映射如下:

为了更新标签,我使用外部脚本。我希望更改相同的脚本以添加对 tag_suggest 字段的更改。但我尝试了以下但它不工作。以下是我尝试过的脚本:

0 投票
1 回答
99 浏览

elasticsearch - 基于子集合属性的术语聚合

我有以下文档文章

我想根据作者集合的属性 Country 在搜索中添加一个术语聚合器。搜索应返回所有不同国家/地区的文章列表和聚合桶。似乎反向嵌套聚合是要走的路,但我不能让它工作。

搜索聚合输出应该是这样的:

0 投票
0 回答
37 浏览

elasticsearch - 查询建议时无法使用上下文

我创建了以下映射:

并添加了以下内容:

并查询我使用以下内容:

但是,即使我们插入了带有价值旅行和用户 ID 的文档,我也没有任何选择。我究竟做错了什么?

0 投票
0 回答
104 浏览

elasticsearch - 在弹性搜索中的查询或过滤器内部排序

我正在使用 elasticsearch.net 客户端。我用分页查询一些东西。但它根据排序标准而不是查询标准返回文档。就像它忽略查询只适用于排序一样。事情是我想对所有文档进行排序然后处理查询。我想如果我可以在查询中使用排序来解决问题。有没有办法做到这一点?提前致谢。

这是代码片段。

0 投票
2 回答
1401 浏览

elasticsearch - 弹性搜索聚合。按嵌套桶 doc_count 排序

我想要实现的是通过唯一对(城市,州)进行聚合。根据 Elasticsearch 文档,术语聚合不支持从同一文档中的多个字段收集术语。因此,我创建了一个这样的嵌套 agg:

由于这种聚合,我得到如下响应:

问题是如何获得按最深 doc_count 排序的结果?

预期的有序列表应该是这样的:

  1. 内华达州拉斯维加斯 (5840)
  2. 佛罗里达州杰克逊维尔 (2986)
  3. 杰克逊维尔, NC (1962)
  4. 杰克逊维尔 (290)
  5. 拉斯维加斯,纳米 (85)
0 投票
1 回答
68 浏览

elasticsearch - NEST 版本 1.3.1 支持 Elasticsearch 版本

我希望将我的 Elasticsearch 集群升级到 1.4.5 或 1.5,并且很好奇这次升级是否会破坏我当前的代码库。

我们在代码中使用 NEST 1.3.1,我想看看这个版本是否支持 Elasticsearch 1.4.5 及更高版本?如果您可以链接有关此支持的一些文档,那将对我有很大帮助。谢谢你们!

0 投票
1 回答
259 浏览

elasticsearch - 使用 ElasticSearch 的复杂查询

我刚开始使用 es,我想知道如何编写查询来执行诸如“城市 1 中的 3 张床”或“城市 1 中靠近学校 2 的 2 间浴室”之类的搜索。据我了解,我们可以处理 3 张床/ bed/bd/bed room 使用同义词,但我怎么知道“城市 1 中的 3 张病床”意味着我需要在病床字段中搜索 3 并在城市字段中搜索 City1?

这是我的示例数据集。

提前致谢!

0 投票
1 回答
359 浏览

elasticsearch - 无法在 MultiMatch Query 中将模糊设置为自动

我正在尝试通过实例化以下类型的对象来使用多重匹配查询:

如上所示,我将模糊度设置为 6,但我需要将其设置为自动。我该怎么做?

0 投票
1 回答
77 浏览

elasticsearch - 弹性搜索 - 更新同义词配置文件后重新启动索引

我正在使用同义词文本文件为我的搜索索引定义同义词。如果我更新这个文件,我必须在新添加的内容生效之前停止并启动 windows 服务。

有没有办法让我的索引动态刷新?我正在使用 NEST,但如果需要,当然可以直接向我的索引端点发出 HTTP 请求。

0 投票
2 回答
592 浏览

c# - “第一个”搜索查询响应时间长的原因?

我正在开发一个使用 MySQL 作为其数据库的应用程序。但是,我正在添加一个使用 ElasticSearch 的带有自动完成/“按您输入的结果”的搜索功能。将相关数据从 MySQL 获取到 ElasticSearch 不是问题,我的搜索工作正常。

但是,我确实有一些性能问题,但仅在进行“第一个”搜索查询时,这大约需要 1-5 秒。“第一次”是指几分钟内的第一次搜索;第二次搜索在第一次搜索后 10 秒内获得接近即时的结果,而第二次搜索在第一次搜索后 5 分钟才获得结果,但要经过明显的延迟。

我最初的想法是,设置 HTTP 连接(由 .NET Framework 汇集)会导致额外的延迟,但即使不使用 DNS 名称来解析,在快速 LAN 网络上这也需要 1-5 秒似乎很奇怪弹性搜索服务器。

我应该查看其他任何可能的罪魁祸首/通常的嫌疑人吗?还是初始 HTTP 连接延迟看起来合理(我会怎么做?)?

搜索是这样完成的(请注意,ElasticSearch/NEST 客户端作为单例进行管理并且已经创建):

编辑:我的 ElasticClient 是这样创建的: