У меня есть набор данных около 20 миллионов записей со следующей структурой:
{"id": "123",
"cites":[
{"id":"234", "date":"2018-05-04"},
{"id":"456","date":"2018-02-01"}]
}
, и я хотел бы создать индекс, где я мог бы видеть список идентификаторов, которые ссылаются на статью, что-то как
{"id":"234", "cited_by":[{"id":"123"},{"id:"188"}]}
Что я технически понимаю, это перевернутый индекс. Это может быть stati c, поэтому его можно вычислить только один раз. Я только видел документацию об инвертированных индексах, используемых для терминов, и их частоте во фразах, что является совершенно другим вариантом использования.
Я рассмотрел использование агрегаций, но поскольку число различных идентификаторов слишком велико, в нем заканчиваются сегменты, и я не уверен, что 20 миллионов сегментов возможны и / или хорошая идея.
Как я могу создать этот индекс? Это возможно в ElasticSearch, или мне нужно написать внешний скрипт, который делает это в пакетном режиме?
Большое вам спасибо!