Поддерживает ли полнотекстовый поиск индексы без схемы?
Я пытаюсь использовать API поиска Appengine, чтобы пользователи могли выполнять запросы к нескольким наборам данных, каждый из которых имеет свою собственную схему. Более конкретно:
Пользователи имеют доступ к нескольким наборам данных. Каждый набор данных имеет много строк. Каждый набор данных имеет набор столбцов. У каждого столбца есть имя и тип. Столбцы в наборах данных могут иметь конфликты имен, и эти конфликты могут иметь разные типы.
Я бы хотел, чтобы пользователи могли выполнять поиск по всем своим наборам данных с помощью одного запроса к API поиска. Если я создаю документ для каждой строки в каждом наборе данных, я подозреваю, что при объединении всех полей в каждом наборе данных будет более 1000 различных полей (где поле = столбец).
Как я могу обойти это? Или мне нужно будет создать несколько индексов (по одному для каждого набора данных) и выполнить несколько запросов? Могут ли эти множественные запросы выполняться параллельно? Каковы минусы / затраты такого подхода?
1 ответ
Хорошей отправной точкой являются документы Python, поскольку базовая структура та же. Сказав, что YMMV здесь как сторона Java все еще экспериментальная.
Не все записи должны быть одного типа в вашем документе. Все, что вам нужно, это перейти от document_id к вашему объекту, поэтому
В настоящее время существует ограничение в 1000 именованных полей для каждой данной схемы индекса.
Так что это может быть проблемой для вас. Если вас не интересует сопоставление столбцов, вы можете просто перевести свои объекты в документ одной строкой и просто выполнить оттуда поиск текста. Тогда все может быть в одном столбце. Затем вы можете получить ваш