问题标签 [mongoosastic]

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 投票
2 回答
879 浏览

node.js - 带有和条件的两个字段的猫鼬搜索

我有一个在 Angular js、Node.js、MongoDB 中开发的具有弹性搜索集成的聊天应用程序。我为聊天提供了搜索功能,用户可以输入任何组合。选项是聊天消息、用户和日期。

所以我想在 nodejs 的帮助下使用多个字段组合在弹性搜索数据库中进行搜索。例如,1) 使用 username='mohan' 和 date='anydate' 进行搜索,2) username='mohan' 和 chatmessage='Hi there'。

所以结果应该同时满足这两个条件。

我们如何使用 mongoosastic 实现这一目标?我尝试使用以下查询。但它给出了 OR 条件的结果,我想要 AND 条件。

0 投票
1 回答
55 浏览

node.js - 从 mongoDB 中删除记录时,弹性不与它同步

有人请告诉我为什么不同步我的 mogoosastic 和 mongodb?当我从 mongoDB 中删除记录时,仍然可以看到记录,直到服务器重新启动。这是我的搜索功能

这是我的 Schema 声明

这段代码有什么问题...

0 投票
2 回答
590 浏览

node.js - NodeJS 不返回 Elasticsearch / Mongoosastic 的结果

我正在尝试创建一个简单的搜索表单来搜索一个模型(产品)。

这是我使用 Mongoosastic 的产品模型:

我将 ElasticSearch 与 Product 模型连接起来,如下所示:

之后,我创建了 GET 方法来呈现结果页面,如下所示:

在前端页面中,我循环遍历结果,如下所示:

在终端一切正常

为什么我的页面上没有呈现结果?

0 投票
0 回答
132 浏览

node.js - 带有 mongoosastic 错误的 keystonejs _doc.execPopulate()

我正在尝试将 mongoosastic 插入我的 Keystone JS 应用程序并填充关系字段。找不到文档,并且由于 keystone 包装了模式模型,因此需要对 mongoose 文档进行一些翻译。有人可以告诉我我做错了什么吗?

这是我收到的错误

0 投票
0 回答
175 浏览

javascript - 用于构面搜索的 ElasticSearch 聚合(mongoosastic)

我最近一直在为一些事情苦苦挣扎。我在mongoosastic我正在工作的项目中使用 Node.js 和 ElasticSearch 作为搜索引擎。

问题是我需要为搜索(多个类别、属性等)做一个方面过滤器。我有点让它工作,但性能很糟糕。我研究了这个话题,似乎 ES 聚合是我需要的。

基本上我需要从 ES 获取可用过滤器的列表,以便前端可以正确呈现它们。

这是我正在处理的数据的一部分(数据存储在 MongoDB 中并使用mongoosastic包同步到 ES):

我的查询目前可以很好地搜索数据(使用此处不相关的其他字段)。我目前正在尝试做的是:

  1. 获取所有可用filterIds的(在本例中123124)以及所有可能的valueIds.

所以总的来说 - (除了命中本身)像这样的东西(加上额外的数据,比如type或其他):

等等。不幸的是,更改数据库架构不是一种选择

编辑:附加信息。

我可以让聚合用于不在数组内部的字段,如下所示:

我不知道如何处理 Array 内的数据(至少在 mongoDB 中,我猜它在 ES 中已经变平了)。

0 投票
2 回答
549 浏览

mongoose - Mongoose 深填充 Mongoosastic

我已经阅读了许多 mongoose deep populate 文档和文章,但在这种情况下我似乎无法让它工作,但我有一种感觉,因为在存储数据时,dealSchema没有 id。想法?

因为这里的目标是使用 mongoosastic 并在 elasticsearch 中索引信息,所以我将使用插件传递填充参数。

0 投票
1 回答
492 浏览

node.js - 更新文档后清空 Mongoosastic 参考

我在 Express 应用程序中同时使用 Mongoose 和 Mongoosastic,我有 Mongoose Schema course,其中包含 2 个引用trainercourse-category. 这是我的模型定义: Trainer

课程类别:

最后,课程:

当我第一次保存课程时,我得到了在 elasticsearch 中索引的文档和包含所有选定属性的 trainer 字段,除了 _id 和 courseCategory 字段的空文档,当更新同一门课程时,我得到空的 trainer 和 courseCategory .

这是我尝试使用此 API 添加/更新的课程数据示例:

0 投票
1 回答
898 浏览

node.js - 如何使用 NodeJs 和 ElastiSearch 创建带有 hits._source 列表的 json 字符串

为了一个很简单的任务,我挣扎了两三天锁定:获取搜索结果并填写模型。我已经多次使用 MongoDb 完成此任务,但我完全坚持使用 ElasticSearch,我确信它必须存在一些简单的方法,但我找不到北方。我已经阅读了很多,但我真的被困住了。

我可以看到搜索的结果。如果有人至少告诉我如何删除 _index、_type、_id 和 _score 并仅将 _source 作为数组返回,它可能会很有用。

据我所知,ElasticSearch 在设计时考虑到了速度,因此 _score 是使用 ElasticSearch 的部分原因。就我而言,我必须在我们的服务器中仅使用 ElasticSearch,因为它们允许在此类服务器中使用 ElasticSearch,并且 ElasticSearch 已用于 LogStash 和 Kibana。我对这样的挑战感到非常高兴,并且我一直在学习很多关于 ElasticSearch 的知识,但我确实需要一些关于“序列化/去沙尔化”_source 内容的知识才能继续前进。

我把我的整个代码放在下面。我想可能存在使用 Schema 和 mongoosastic 的线索,但我真的不知道该尝试什么。

你可以看到我创建了一个带有模式的模型,并添加了插件 mongoosastic。我想它可能存在某种方式来使用这种模型与 ElasticSearch 类似,就像我们很容易使用 MOngoDb 一样,但我不知道如何。

服务器.js

包.json

我的控制器.js

mymodel.js 启发了我使用 MongoDb 和 mongooastic 的方式

0 投票
1 回答
247 浏览

elasticsearch - 如何使用 Mongoosastic 处理 ElasticSearch 自动补全中的非拉丁字符?

es.search({size: 0, suggest: ...}使用完成映射在可以具有非拉丁变音符号(重音字符,如 â、ê 等)的字段上使用完成映射,自动完成工作正常。

我正在使用创建映射mongoosastic。我需要能够使用诸如asciifolding建议之类的东西或在响应中添加其他字段。

我有这些领域:

  • name这是带有变音符号的那个。
  • nameSearch这是name拉丁化的(没有变音符号/重音字符)。

我需要的是继续完成建议,name但处理方式a相同â(和其他方式)。

在我需要的回应name中。不是nameSearch

0 投票
1 回答
135 浏览

mongoose - Mongoosastic 参考未保存

我有这个:

和用户看起来像这样:

在我的数据库中,我看到了这个:

ObjectId("58ce87e7f86e5d36f6ccfb81")是一个有效的 ID,我可以找到具有此 ID 的用户。

在 elastisearch 头上,我看到了这个:

为什么作者是空的???

编辑

我在底部添加了这个: