问题标签 [elastic4s]
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.
scala - elastic4s:如何为 German_phonebook 添加分析器/过滤器进行分析?
如何使用 elastic4s 将以下 German_phonebook 分析器添加到弹性搜索?
这里的核心问题是为 icu_collation 类型的German_phonebook过滤器使用哪个过滤器?
...
按照答案,我想出了这段代码:
分析器定义现在看起来像这样:
elasticsearch - Elasticsearch - 如何附加术语?
有没有办法将术语附加到值数组中?
例如,如果我的文档如下所示:
我想将“item4”和“item5”附加到它。
我必须在 2 个查询中完成吗?一个加载当前值列表,然后更新该列表?还是有更优雅的方式可以让我在一个查询中附加这些项目?
我正在尝试使用这样的 elastic4s 来做到这一点:
为了使用上面的代码片段,我需要启用 groovy 脚本,我不知道如何使用多个项目来做到这一点。
任何的想法?
java - 如何在多个并发进程中从 elasticsearch 写入和查询数据?
我正在 Scala 中编写一个简单的应用程序,它在不同的主题上收听 Kafka,当写作事件发生时,我在 ElasticSearch 中写下数据。我使用elastic4s作为 ElasticSearch Java API 的包装器。因此,监听不同的主题被实现为在 Futures 中运行的并发进程。我的应用程序中的这段代码看起来像
为了写入 ElasticSearch,我有一个帮助对象,其中包含一个ElasticClient private val client = ElasticClient.transport(uri)
,它连接到 ElasticSearch 并通过它写入数据。为了实现写作,我在这个对象中有以下方法:
问题是当我运行 3 个 Futures 时一切正常。但是当我添加第四个 Future 时它不起作用。特别是客户端不起作用,它只是用永远不会完成的Promise响应。一个有趣的细节:当我在具有四核处理器的计算机上运行此应用程序时,它可以与四个 Futures 一起正常工作。
scala - elastic4s:使用 rawQuery 得分保持在 1
我们将 elastic4s 用于 ElasticSearch 2.2.0。许多查询以 JSON 格式存储在磁盘上,并通过 elastic4s 驱动程序用作rawQuery 。结果中的分数在通过命令行提交的查询或 elastic4s 驱动程序之间有所不同。elastic4s 驱动程序始终为所有结果返回 1 分,而命令行执行产生两个不同的分数(针对不同的数据类型)。
elastic4s的代码:
请注意,我删除了任何内容,但rawQuery preparedQuery
它并没有改变分数1。通过命令行的完整查询很长:
请注意,这几乎是用搜索查询preparedQuery
替换的。$search
弹性搜索 REST 客户端为匹配返回3.075806的分数。
scala - elastic4s org.elasticsearch.client.transport.NoNodeAvailableException:
我在连接到本地版本的 elasticsearch 时遇到问题。我正在做以下事情
但是得到一个
例外。如果我在 9200 / 或 9300 之间移动并不重要。据我所知,ES 已启动并正常运行。任何指针表示赞赏。
scala - 使用 elastic4s 从原始 JSON 创建索引
我需要创建一个索引,其中包含一些上下文完成建议器映射,如(https://www.elastic.co/guide/en/elasticsearch/reference/current/suggester-context.html)。正如我在https://github.com/sksamuel/elastic4s/issues/452中看到的,这似乎不受 DSL 支持。
因此,最好从原始 JSON 字符串创建索引(类似于原始查询)。有可能实现这一目标吗?
scala - 如何定义所有扩展具有递归类型签名的公共特征的对象类型
我写了一个方法,它返回的对象都扩展了一个共同的特征。我想将返回类型指定为具有该特征的对象。复杂之处在于该特征具有递归类型签名。
特别是,我正在使用elastic4s并查看aggregationDefinition trait。特征定义为:
我的方法的简化版本是:
复杂性在于 AggregationDefinition,它需要类型参数:
我对特征定义中的递归和交叉引用感到困惑,我不清楚类型参数应该是什么。我应该为类型参数使用什么?
scala - 将来自 elastic4s 订阅者的响应发送回 akka-stream
我目前正在构建一个将数据从 mongoDb 流式传输到 elasticsearch 的解决方案。我的目标是跟踪所有成功传输到 elasticsearch 的项目。我正在使用 akka-streams 和 elastic4s。目前流入 es 的样子是这样的
从我的来源来看是这样的:
现在一切正常,现在我正在使用第二个接收器记录例如项目计数。但我宁愿记录真正传输到elasticsearch的项目。elastic4s 订阅者提供了一个listener: ResponseListener
withonAck(): Unit
并且onFailure(): Unit
我很想像这样将这些信息返回到流中
我将如何实施?我是否需要一个自定义阶段来缓冲 和 的onAck
元素onFailure
?或者有没有更简单的方法?
谢谢你的帮助。
scala - Elastic4s / PlayFramework - 找不到参数可执行文件的隐式值
我正在尝试将 ElasticSearch 与 Play 2.3.7 Scala 一起使用。我已经安装了弹性搜索,添加了一个索引,并让它运行起来(使用 curl 测试)。但是,我正在努力让 elastic4s 在播放控制器中工作。
我使用简单的远程 url 创建了客户端
然后我尝试在客户端上执行。
这是在 Action 内执行的,但出现以下错误。
scala - 当结果文档缺少字段时,Elastic4s 搜索案例类示例错误
我一直在使用 Elastic4s 手册中的这个示例。在尝试检索没有在案例类中指定字段的文档之前,它工作正常。
在手册中的这个示例中,假设一个结果只有name
并且缺少该location
字段。它会产生这个错误:
java.util.NoSuchElementException:找不到键:位置
我正在寻找一种处理具有不同字段的搜索结果的好方法。
代码示例: