Привет я следующую таблицу в Кассандре:Cassandra CQL: Пакетное выбрать
* ---------------------------------------------------------------------------
* Note:
* 'curr_pos' is always fixed, so we can put it into cluster key and order
* In each crawler iteration 'prev_pos', 'domain_*' are updated
* -------------------------------------------------------------------------
* Patterns:
* <domain_name3rd>.<domain_name2nd>.<domain_name1st>
* --------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS lp_registry.keyword_position (
engine text,
keyword text,
updated timestamp,
domain_name1st text,
domain_name2nd text,
domain_name3rd text,
prev_pos int,
curr_pos int,
PRIMARY KEY ((engine, keyword), curr_pos)
);
В приложении верхнего уровня у меня есть списки с около сотни ключевых слов.
Что мне нужно?
Для фиксированного двигателя и списка ключевых слов я хочу выбрать все домены и их положение.
Обновление: Результат, заданный приложением, будет матрицей NxM для каждого движка, с N определяемыми пользователем ключевыми словами и M пользовательскими доменами. В каждой ячейке будет позиция домена для определенного ключевого слова.
С чем я смущен?
Мне нужно разместить N выборок в зависимости от размера списка с ключевыми словами. Другими словами, мне нужно перебирать ключевые слова в приложении и в каждой итерации отправлять выбор в БД.
Я ожидаю, что N не будет больше 100, но все же я думаю, что это слишком много запросов.
Мой вопрос
Могу ли я упаковать эти выбирает в одну партию? Как?
Спасибо. Списки ключевых слов и движков определяются пользователем. Каждый вариант использования имеет свой собственный список. Для этих входов приложение будет производить для каждого движка матрицу N x M .. из N строк - ключевые слова и M столбцов - домены. В каждой ячейке будет позиция домена для определенного ключевого слова. Поскольку список доменов - столбцов - также определяется пользователем, я не могу представить способ создания такой матрицы в одном выборе. – Michal