Мое приложение часто должно украшать значения в документах, которые он обслуживает, используя поиск, чтобы извлекать человекообразные формы различных кодов.Каков наиболее эффективный способ хранения пар имя/значение в базе данных Marklogic
Например <product_code>PC001</product_code>
хотел бы вернуть как <product_code code='PC001'>Widgets</product_code>
. Это не всегда product_code; существует несколько различных типов кода, которые нуждаются в подобном поведении (некоторые из них имеют всего несколько десятков примеров, некоторые из них - несколько тысяч).
Что я хочу знать, это самый эффективный способ хранения этого данные в базе данных? Я могу думать о двух возможностях:
1) Один документ от типа кода, со многими элементами:
<product-codes>
<product-code code = "PC001">Widgets</product-code>
<product-code code = "PC002">Wodgets</product-code>
<product-code code = "PC003">Wudgets</product-code>
</product-codes>
2) Один документ по коду, каждый из которых содержит <product-code>
элемент, как описано выше.
(Очевидно, что оба варианта будут включать разумные индексы)
Является ли любой из них заметно быстрее, чем другие? Есть ли другой, лучший вариант?
Я чувствую, что лучше всего держать одну вещь в документе, поскольку она концептуально немного чище и (я понимаю) лучше подходит для индексации ML, но в этом случае похоже, что это приведет к очень большому числу очень маленьких файлов. Это то, о чем я должен беспокоиться?