Nano Hash - криптовалюты, майнинг, программирование

Могу ли я использовать один индексатор поиска Azure для индексации нескольких сущностей с одним и тем же ключом?

В основном у меня есть два источника данных (cosmos db, azure sql), один индекс и два индексатора.

Оба индексатора используют один и тот же первичный ключ, что позволяет мне объединять данные из обоих источников в один индекс. Проблема прямо сейчас заключается в том, что база данных cosmos db содержит несколько записей с тем же ключом, который используется в индексаторах в качестве первичного ключа, который затем по умолчанию (я предполагаю) просто сглаживает все записи с одним и тем же ключом и индексирует только последнюю найденную . Он работает без ошибок, но очевидно, что записи отсутствуют, поскольку индексируется только последняя найденная.

Единственное решение на данный момент состоит в том, что я индексирую базу данных cosmos в другом индексаторе с использованием уникального ключа. Я как бы хотел избежать множественных поисковых запросов, но, похоже, это единственное решение, если только у кого-то нет идеи получше. Спасибо!


  • Под несколькими записями вы имеете в виду, что существует несколько документов Cosmos DB с одним и тем же ключом или один документ Cosmos DB с массивом значений? 28.08.2019
  • Несколько документов с одним и тем же ключом, который я использую в качестве первичного ключа в индексе. Спасибо! :) 28.08.2019
  • Является ли ключевым представителем идентичности каждого документа или это просто то, что вы хотите найти? Как вы в настоящее время запрашиваете индекс? 28.08.2019
  • Представитель айдентики. Прямо сейчас я просто играю с поисковым проводником в лазурном и тестирую, какой план будет достаточно. 28.08.2019
  • Как можно использовать несколько версий одного документа? Это что-то вроде исторических данных? 31.08.2019
  • Яп. В значительной степени, исторические данные пользователей. Следовательно, тот же Id. Я пошел с индексатором только для исторических данных db. 04.09.2019
  • Работает ли использование имени пользователя и отметки времени в качестве ключа для моментальных снимков пользовательских данных? У вас могут быть другие поля индекса для имени пользователя и отметки времени, поэтому вы также можете фильтровать по ним. 05.09.2019

Ответы:


1

Нет, вы не можете использовать один и тот же ключ для нескольких документов, ключ - это уникальный идентификатор каждого документа для поиска. Если вы добавляете в свой индекс несколько документов с одним и тем же ключом, sys будет выполнять несколько операций обновления документа с этим ключом, чтобы вы могли видеть только последнюю запись.

Может быть, мой случай похож на ваш, что будет полезно, это мой индекс:  введите описание изображения здесь

И это данные в моей базе данных cosmos:  введите описание изображения здесь

как вы можете видеть, itemid - это ключ моего индекса, и его значение в моем cosmos db все равно 1. В моем случае я использую значение _rid для замены значения itemid при создании источника данных с помощью sql-запроса ниже:

SELECT u._rid as itemid, u.FirstName , u.LastName,u.Email , u._ts FROM user u  where u._ts >= @HighWaterMark ORDER BY u._ts

введите здесь описание изображения

Как видите, индекс был импортирован, и проблема решена:  введите описание изображения здесь

Таким образом, вы можете импортировать данные в исходный индекс без такой же ключевой проблемы. Если есть какие-либо недоразумения или неясности, пожалуйста, дайте мне знать.

29.08.2019
  • Проблема в том, что я потеряю фактическое значение itemid, поскольку оно мне нужно для фильтрации. Другая проблема заключается в том, что я не смогу использовать itemid в качестве первичного ключа в другом индексаторе, поскольку это значение itemid не будет совпадать со значением itemid из другой таблицы. 29.08.2019
  • Это просто для того, чтобы представить ход мыслей для решения этой проблемы с использованием запроса источника данных cosmos DB для импорта документов в ваш индекс :) 29.08.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..