Функция окна поиска Azure

Если у меня есть история документов в моем индексе, можно ли восстановить все последние? Допустим, у меня есть записи о продуктах, и продукт со свойством productid "myprod" появляется 5 раз со слегка отличающимися данными, каждая с отметкой времени. И когда я выполняю поиск по дате, я хочу, чтобы все записи о товаре действовали на эту дату, т. Е. Когда эта дата меньше даты поиска и является максимальной для этого продукта. Легко в SQL. Возможно в поиске Azure? Или даже упругий поиск, если мы должны двигаться?

Спасибо

2 ответа

Вы обязательно можете добавить фильтр диапазона для этой цели и в упругом поиске, и в лазурном поиске.

Я предполагаю, что ваши данные отформатированы как дата, и в эластичном поиске все, что вам нужно сделать, это

    "filter": {
      "range": {
        "<the date field name>": {
          "gte": "2018-01-01",
          "lte": "2018-01-01"
        }
      }
    } 

и в лазурном поиске

filter=<the date field name> ge 2018-01-01T00:00:00-08:00  and <the date field name> le 2018-01-01T00:00:00-08:00

Чтобы отфильтровать записи, как вы описали, вам нужно сделать 3 вещи:

  1. $ фильтр по дате (как уже предлагал gd vigneshwar)
  2. $ orderby date
  3. Выберите только отдельные продукты, которые появляются первыми в отсортированном списке

К сожалению, 3. должно произойти на стороне клиент / сервер.

Другие вопросы по тегам