问题标签 [elasticsearch.js]

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

node.js - Elasticsearch 在从 Firebase 索引数据时未使用模板和映射

我有多个索引来索引从 Firebase 到 Elasticsearch 的数据。

我正在使用client.indices.putTemplate将模板放入弹性搜索中。已成功保存,但在索引器开始索引数据时未使用相同的内容。

我的索引器使用:

account 是一个对象:

最后 accountsTemplate 是具有以下数据的实际模板:

当我运行索引器时,它不会根据保存的模板进行索引,并给出错误为

我什至看到模板已保存。

索引器:

参考:

使用 elasticssearch 客户端创建索引
在 node.js 中的 elasticsearch 中创建一个空索引我在
哪里放置 Elasticsearch 的映射文件?

0 投票
1 回答
120 浏览

javascript - ElasticSearch 和搜索文档不可预测

ES JS Client 发生了一些非常奇怪的事情。client.search() 方法似乎工作正常,索引和搜索数据工作正常,但如果重新启动 elasticsearch.bat 则客户端停止工作。我的意思是,client.search 用相同的代码给了我 0 次点击。但是,如果我使用任何其他客户端进行搜索,我会在索引中找到所有可用的文档。

这是使用 GET http://localhost:9200/yojuego/_mappings的映射:

以下是我从 NodeJS 中查找信息的方式:

相关帖子:

我收到了很多答案,一开始都可以正常工作,但后来都停止了工作

我正在使用的框架:

  • 弹性搜索 2.4.0
  • 节点.js 6.3.0
  • 弹性搜索.js 11.0.1

我是如何安装 ElasticSearch 的?只需从 ES 网站下载,解压缩并运行 elasticsearch.bat(我在 Windows 7 上运行)

同样,问题是 ES 服务重置后 ES 停止工作。当然,我很确定我做错了什么,但我无法意识到 ES Service Search 突然停止工作的位置和原因。

当我说“停止工作”时,我是说来自 ES js 客户端的搜索方法检索 0 匹配与昨天使用的相同查询。

我希望我解释清楚。谢谢。

PD:

这是我初始化 es 客户端的方式:

0 投票
1 回答
1129 浏览

node.js - 在与数据库的连接上同步elasticsearch - nodeJS

目的:将 elasticsearch 与 postgres 数据库同步
原因:有时 newtwork 或集群/服务器会中断,因此应记录未来的更新

这篇文章https://qafoo.com/blog/086_how_to_synchronize_a_database_with_elastic_search.html建议我应该创建一个单独的表updates来同步 elasticsearch 的id,允许从最后一条记录(在 elasticsearch 中)选择新数据(从数据库中)。所以我想如果我可以记录elasticsearch的失败和成功连接怎么办:如果client 成功回复(返回一个promise),我可以启动一个函数来与我的数据库同步记录。

这是我的elasticConnect.js

这样,我什至不需要担心运行 cron 作业(如果问题1正确),因为我知道集群正在运行。

问题

  1. syncProcess跑前export default client吗?我不希望在同步时收到任何请求...

  2. syncProcess应该只运行一次(因为它被缓存/未导出),无论我import elasticConnect.js. 正确的?

  3. 使用带有表的方法有什么好处updates,而不仅仅是从父/源表中选择数据?

  4. 文章的评论说“不要使用时间戳来比较新数据! ”。Ehhh ...为什么?应该没问题,因为数据库被阻塞了,对吧?

0 投票
2 回答
765 浏览

elasticsearch - 使用自定义分析器的 Elasticsearch.js 分析器错误

使用最新版本的elasticsearch.js并在为某些帖子建立索引和创建映射时尝试创建自定义路径分析器。

目标是从路径的每个部分创建关键字。然而,作为开始只是试图让分析仪工作。

这是elasticsearch.js create_mapped_index.js,您可以在文件顶部附近看到自定义分析器:

如果对 wcm_path_analyzer 的调用设置为“non_analyzed”或省略索引,则帖子的索引、映射和插入工作。

一旦我尝试在 main_taxonomy 和 categories 路径字段上使用自定义分析器,如上面的 json 所示,我收到此错误:

以下是路径字段上需要自定义分析器的两个对象的示例。我在不使用自定义分析器的情况下将 15 个帖子插入弹性搜索索引后提取了这个示例:

至此,我在谷歌上搜索了类似的问题,大多数人都说人们错过了将分析仪放入设置中而不是将参数添加到正文中。我相信这是正确的。

我还查看了 elasticsearch.js 文档并尝试创建:

但是要使用它,索引需要与映射一起存在,否则会引发错误“未找到索引”

不知道从这里去哪里?感谢您的建议。

0 投票
0 回答
47 浏览

elasticsearch - 使用 elasticsearch.js 时 client.ping 返回错误的原因可能是什么?

我想检查 elasticsearch.js 是否已连接到互联网。

所以我client.ping在我的生产环境中运行如下。

我收到一条错误日志,上面写着“elasticsearch 集群已关闭!”。

另一方面,当我client.ping在自己的机器上的开发环境中运行时,我收到一条日志,上面写着“一切都很好”。

curl命令在生产环境中的终端上工作。

例如,以下curl命令有效。

我不知道为什么我收到“elasticsearch 集群已关闭!” 使用 elasticsearch.js 时在我的生产环境中出错。

我无法使用 elasticsearch.js 获取数据,因为它没有连接到互联网。

谁能告诉我这个错误的可能原因是什么?

0 投票
1 回答
868 浏览

javascript - 如何使用 elasticsearch-js 和 elasticsearch 5.0 扫描和滚动

elasticsearch-scrolltoend之前是作为插件使用的,升级到 5.0 后插件似乎不起作用。如何使用 elasticsearch 5.0 扫描和滚动大型数据集?

尝试使用 elasticsearch-js 文档中的实现时,我也收到错误消息:

json { "error": { "root_cause": [ { "type": "illegal_argument_exception", "reason": "Failed to parse request body" } ], "type": "illegal_argument_exception", "reason": "Failed to parse request body", "caused_by": { "type": "json_parse_exception", "reason": "Unrecognized token 'DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAHKFnV6a2NabEh4VDZLQmdzUzY0Y2tpd0EAAAAAAAAByxZ1emtjWmxIeFQ2S0Jnc1M2NGNraXdBAAAAAAAAAcwWdXprY1psSHhUNktCZ3NTNjRja2l3QQAAAAAAAAHOFnV6a2NabEh4VDZLQmdzUzY0Y2tpd0EAAAAAAAABzRZ1emtjWmxIeFQ2S0Jnc1M2NGNraXdB': was expecting ('true', 'false' or 'null')\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@67ba4d99; line: 1, column: 457]" } }, "status": 400 }

0 投票
1 回答
58 浏览

node.js - 无法在弹性搜索中搜索整数

我是弹性搜索的新手,我正在使用亚马逊的弹性搜索 5.3。这是我的 json 数据

这是我在 nodejs 中用于数据加载的设置。

搜索代码是

当我搜索字符串时,它给出了正确的结果。IE

但是当我为整数做时,它没有结果

它适用于正常的 curl 调用,无需指定任何文件

我读了很多帖子说我们需要添加分析器,即标准来处理整数。我尝试在创建时添加,但它抛出了错误。我需要添加边缘 NGram分析器吗?我没有得到如何处理这个。如何在nodejs中添加分析器..请有人帮我解决这个问题?

0 投票
1 回答
530 浏览

javascript - ElasticSearch.js 搜索查询返回 0 个命中,但生成的 URL 包含正确的命中

我目前正在用 JavaScript 编写一个网站,该网站从 ElasticSearch 中的数据中绘制各种字段,我遇到了一个奇怪的问题。(出于各种原因,我不想使用 Kibana。)

直到不久前,我在 JavaScript 中的搜索查询一直在正确返回命中。我没有对其进行任何更改,但突然查询没有返回任何命中。但是,当我按照调用生成的 URL 时,会出现我想要的命中。

这是查询:

这是脚本在我的网站控制台中为我提供的内容:

}

这是 URL 给我的:

我完全不知道发生了什么,也不知道如何解决。有人有想法吗?

0 投票
1 回答
496 浏览

node.js - 弹性搜索批量的Nodejs流修改

我想将下面的对象附加到流中的每个对象

我的流看起来像这样

我的流应该是什么样子!

如何在我现有的以下代码库中使用 jsonstream 来实现这一点

我目前正在使用的 npm 包

用于弹性搜索中的批量插入!

弹性搜索可写流

用于从 postgres 获取数据到流中!

pg-查询流

缺少的部分是将 postgres 流转换为弹性可写流!关于如何实现这一目标的任何建议、指示和建议!

0 投票
0 回答
434 浏览

post - elasticsearch.js客户端搜索api中的get方法而不是post方法

有没有办法使用 GET 而不是 POST 方法来搜索弹性,因为我可以在 curl 中做到这一点

它有效,我如何使用 elasticsearch.js 的搜索 api 做同样的事情!