Пакетная вставка кромок ArangoDB без пользовательских ключей

Можно использовать std::regex.

В зависимости от размера вашего файла и доступной вам памяти, можно прочитать его либо по строкам, либо целиком в файле std::string.

Чтобы прочитать файл , вы можете использовать:

std::ifstream t("file.txt");
std::string sin((std::istreambuf_iterator(t)),
                 std::istreambuf_iterator());

, после чего вы можете сопоставить это, которое на самом деле настраивается для ваших нужд.

std::regex word_regex(",\\s]+");
auto what = 
    std::sregex_iterator(sin.begin(), sin.end(), word_regex);
auto wend = std::sregex_iterator();

std::vector v;
for (;what!=wend ; wend) {
    std::smatch match = *what;
    v.push_back(match.str());
}

0
задан donlan 19 February 2019 в 22:38
поделиться

1 ответ

Идея краевого индекса состоит в том, чтобы связать документы вершин, которые определены их атрибутом _id (например, collection/key). Из-за того, как работает двигатель, вы должны предоставить атрибуты _from и _to для каждого края ...

... но это не мешает вам добавлять свои собственные атрибуты (и индексировать их)!

Из-за уникальной природы краевых индексов я был вынужден добавить мои собственные значения from_id и to_id, которые отражают _from и _to соответственно. Добавление к ним хеш-индекса позволило мне быстро согласовать новые, существующие и устаревшие записи.

В качестве альтернативы можно использовать значения name и number в качестве значений _key. Ничто не говорит, что вам нужно , чтобы использовать поставляемую системой _key. Единственное предостережение - значения _key и _id имеют ограничения по .

0
ответ дан kerry 19 February 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: