【问题标题】:How do I search only first object in an array of nested objects using ElasticSearch如何使用 ElasticSearch 仅搜索嵌套对象数组中的第一个对象
【发布时间】:2014-12-09 11:52:15
【问题描述】:

我在我编写的系统中使用 ElasticaBundle 和 ElasticSearch 和 Symfony2。 一个“人”在他们的工作历史中可以有许多“职位”。这些位置按日期 desc 排序,为了使用 PHP 查找某人的当前位置,我检索并读取数组中的第一个对象。

我正在努力使用 ElasticSearch 仅搜索当前或第一个位置。我已将映射设置为嵌套,并且我能够执行嵌套查询,返回一个“人”,该人的“职位”与我的所有条件相匹配。我不能做的是弄清楚如何只搜索第一个列出的“位置”中的条件。有没有人有任何想法让我走上正确的道路?

目前我能想到的唯一选择是: 在每个对象中维护一个订单值,这样我就可以挑选出第一个, 或在仅具有关系的实体中创建另一个字段,第一个位置

【问题讨论】:

    标签: symfony elasticsearch elastica symfony-2.5 foselasticabundle


    【解决方案1】:

    我在 ElasticSearch 文档中读到 ElasticSearch 不支持这种键,但现在我找不到有问题的页面。对不起。

    最后我通过在当前位置上设置一个标识符来解决这个问题,即给它一个标识符 0,所有其他位置编号按顺序排列。

    【讨论】:

      猜你喜欢
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      相关资源
      最近更新 更多