如何在对象数组中查询算法数据

2023-11-22

我有一个数据数组,其中 Algolia 索引中包含多个对象,如下所示。

[
{
status:available
startDate: 2000-10-20
endDate:2022-10-20
availablePlatform:[1,2,3]
availableCountry:908,

},
{
status:available,
startDate: 2023-10-20
endDate:2123-10-20
availablePlatform:[4,5,6,7]
AvailableCountry:[144],
},

]

我需要执行一个过滤,该过滤应该在这些对象中进行精确匹配。

Ex:

(1) avails.status:available AND avails.availablePlatform:2 AND avails.availableCountry:908

这将按预期返回 true。

(2) avails.status:available AND avails.availablePlatform:2 AND avails.availableCountry:144

当 Algolia 匹配时,这个也返回 trueavailableCountry来自第二个对象。 但在这种情况下我需要返回 false。这样的能力是否存在?或者人们可以向我指出解决这个问题的其他方法吗?

同样的问题也在这里问https://discourse.algolia.com/t/filtering-which-should-do-a-exact-match-within-data-objects-in-an-array/16677

Thanks.


根据这个帖子在 Algolia 讨论中,您必须为中的每个元素索引一个单独的记录avails数组和那个这是唯一的方法.

假设您的条目看起来像这样

[{
    objectID: 'someid',
    somefield: 'somevalue',
    avails: [{
            status: 'available'
            startDate: '2000 - 10 - 20'
            endDate: '2022 - 10 - 20'
            availablePlatform: [1, 2, 3]
            availableCountry: 908,

        },
        {
            status: 'available',
            startDate: '2023 - 10 - 20'
            endDate: '2123 - 10 - 20'
            availablePlatform: [4, 5, 6, 7]
            availableCountry: [144],
        },

    ]
}]

您可能必须将条目分解为索引中的每个条目的子条目avails大批。这样做的缺点是,现在您将增加记录数量和每个元素的冗余数据。avails array

[{
        objectID: 'someid-1',
        somefield: 'somevalue',
        avails: {
            status: 'available'
            startDate: '2000 - 10 - 20'
            endDate: '2022 - 10 - 20'
            availablePlatform: [1, 2, 3]
            availableCountry: 908,

        }


    },
    {
        objectID: 'someid-2',
        somefield: 'somevalue',
        avails: {
            status: 'available',
            startDate: '2023 - 10 - 20'
            endDate: '2123 - 10 - 20'
            availablePlatform: [4, 5, 6, 7]
            availableCountry: [144],
        }
    }
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在对象数组中查询算法数据 的相关文章

  • 如何在顶层使用 async/await?

    我已经过去了async await在阅读了几篇文章后 我决定自己测试一下 然而 我似乎无法理解为什么这不起作用 async function main var value await Promise resolve Hey there co
  • Rails 3 根据操作验证规则

    这似乎是一个简单的问题 但除了编写自定义验证器之外 我似乎找不到答案 我有这个验证器 validates password presence gt true confirmation gt true length gt minimum gt
  • 如何在纯 C# 和 .Net 框架中编写字谜生成器 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我想生成给定字符串的字谜输出 而不需要任何外部库 例如 Google 字谜算法助手 的帮
  • 无法在 16 位实模式汇编中清除整个屏幕

    我正在尝试在简单的 16 位实模式操作系统中清除屏幕 下面是代码 clearScreen pusha mov ah 0x7 mov al 0 int 0x10 popa ret 我读了那个设置al为 0 并调用滚动屏幕中断会清理屏幕 但它似
  • 使用依赖管理访问 Maven 属性

    我正在使用 Maven 的依赖管理将 POM 导入到我的项目 Y 中 如下所示
  • Android NumberPicker OnValueChangeListener

    我有一个关于 Android 的问题NumberPicker 当用户在某个对象上执行 Fling 操作时NumberPicker 对于侦听器的每一步OnValueChange被触发 我是否可以通过这种方式更改此设置 即 oldVal 和 n
  • 如何在更新面板之外更新控件?

    在检查复选框后 我将在位于更新面板外部的文本框中显示一些文本 但我无法使其工作 请帮我一下 这是我的代码
  • AttachEvent / addEventListener 到 Window onload / load - 首选方式

    我有一个在页面加载时启动的脚本 我一直在使用下面的代码来启动它 if window addEventListener window addEventListener load otherRelatedParts false else if
  • C中位域的内存管理

    为了理解位域内存存储 我创建了下面的测试程序 include
  • WPF Metro 窗口全屏

    我目前正在开发 WPF 应用程序 但我不知道如何使我的应用程序全屏显示 我正在使用 MahApps Metro 因此我的主窗口类型是 Controls MetroWindow 我试过这个
  • JPA Criteria API:查询子类的属性

    我有一个这样的类结构 Entity Inheritance strategy InheritanceType JOINED public abstract class Article private String aBaseProperty

随机推荐

  • Automagic 单元测试是否支持 Java 中的对象方法契约?

    在开发 Java 应用程序时 我经常重写对象方法 通常是 equals 和 hashCode 我想要某种方法来系统地检查我是否遵守每个类的对象方法合同 例如 我想要断言对于相等的对象 哈希码也相等的测试 我正在使用 JUnit 测试框架 所
  • 在 Android 应用程序中使用哪个 WebSocket 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想添加一个Service到我的 Android 应用程序 该应用程序在后台运行 持有WebSocket连接 可能需要几个小时甚至几天 并定期向服务
  • php 中按值调用和按引用调用之间的区别以及 $$ 的含义是什么?

    1 我想知道按值调用和按引用调用有什么区别php PHP 是按值调用还是按引用调用 2 我还想知道 登录 php 是什么意思 例如 a name a Paul echo name output is Paul 正如上面的例子 PHP 中的
  • 插入日期时动态智能日期掩码

    javascript 或 jQuery 是否有一种方法可以在键入关键输入以及复制并粘贴到文本框的日期时动态检测和更改 我正在尝试创建一个具有两位数字 例如月份 的功能文本框 由于月份可以是 1 12 之间的数字 我想强制第一个数字为 1 或
  • 在 C 中使用 fread 从 stdin 缓冲读取

    我正在尝试有效地阅读stdin通过使用setvbuf在 IOFBF 模式下 我是缓冲新手 我在寻找working例子 输入以两个整数开始 n k 下一个n输入行包含 1 个整数 目的是打印有多少个整数可以被整除k define BUFSIZ
  • 无需注册事件源即可写入 Windows 应用程序事件日志

    有没有办法写入此事件日志 或者至少是其他一些 Windows 默认日志 我不必注册事件源 是的 有一种方法可以写入您正在寻找的事件日志 您不需要创建新的源 只需使用现有的源 该源通常与事件日志的名称相同 并且在某些情况下 例如事件日志应用程
  • 如何从纬度和经度点获取城市名称?

    有没有办法使用 javascript 的谷歌地图 api 从纬度和经度点获取城市名称 如果可以的话我可以看一个例子吗 这就是所谓的反向地理编码 来自谷歌的文档 http code google com apis maps documenta
  • 返回按钮在 iOS 7 中不可见

    我对 iOS 7 有一些奇怪的问题 我有一个UINavigationBar在我的应用程序中 它非常适合 iOS 6 IOS 6 然而 当我尝试在 iOS 7 上运行它时 我的后退按钮消失了 它就在那里 仍然可以工作并且可以点击 但不可见 I
  • LoadLibrary project.dll 失败。指定的模块无法找到

    当我尝试注册我的 C ATL 项目的 32 位版本时 regsvr32 project dll 我收到此错误 LoadLibrary project dll failed The specified module could not be
  • 将通用 Class 参数限制为实现 Map 的类

    我正在尝试写一个Map建设者 构造函数之一将允许客户端指定类型Map他们希望建立 public class MapBuilder
  • 删除/替换列值中的特殊字符?

    我有一个表列 其中包含我想从中删除所有连字符的值 这些值可能包含多个连字符并且长度各不相同 示例 对于我想要替换的所有值123 ABCD efghi with 123ABCDefghi 删除所有连字符并更新表中所有列值的最简单方法是什么 您
  • Windows Python2.7 mysqldb安装错误

    我正在尝试为 Python 安装 mysqldb 我正在运行 pip install mysql python 我不断收到此错误 运行 build ext构建 mysql 扩展创建 build temp win32 2 7创建 build
  • 在 MVC 框架中的 Javascript 文件中使用内联 C#

    我正在尝试使用 MVC 框架让内联 C 在我的 JavaScript 文件中工作 我编写了这个小测试代码 document ready function alert 当此代码在视图内部使用时 它可以完美地工作 当我离开我的 aspx 视图并
  • AngularJS:将服务注入 HTTP 拦截器(循环依赖)

    我正在尝试为我的 AngularJS 应用程序编写一个 HTTP 拦截器来处理身份验证 这段代码可以工作 但我担心手动注入服务 因为我认为 Angular 应该自动处理这个问题 app config httpProvider functio
  • 如何在matlab中制作圆并在其中生成随机点

    hello i want to ask a question how to make a circle in matlab and mark its center and generate a certain number of rando
  • 何时使用无符号值而不是有符号值?

    什么时候适合使用无符号变量而不是有符号变量 那么在一个for loop 我听到了很多关于这个问题的意见 我想看看是否有任何类似的共识 for unsigned int i 0 i lt someThing length i SomeThin
  • Haskell 中的 IO Int 和类似单元测试

    From 九十九道 Haskell 问题 问题23 从列表中提取给定数量的随机选择的元素 这是部分解决方案 为简单起见 此代码仅从列表中选择一个元素 import System Random randomRIO randItem a gt
  • 如果mysql表不存在则创建

    我不太使用 php mysql 但我需要一个我认为相对简单的任务 检查表是否存在 如果不存在则创建它 我什至无法获得有用的错误消息 并且数据库中没有创建表 显然我的语法有问题
  • 禁用 jqGrid 选定行的子网格扩展

    问题 带有子网格的 jqGrid 我想禁用主网格某些行的展开 折叠功能 我其实找到了一个方法 grid jqGrid setGridParam afterInsertRow function rowid aData rowelem var
  • 如何在对象数组中查询算法数据

    我有一个数据数组 其中 Algolia 索引中包含多个对象 如下所示 status available startDate 2000 10 20 endDate 2022 10 20 availablePlatform 1 2 3 avai