МаркЛогик 9.0.8.2
В базе у нас есть такие данные
<xmldata>
<data>
<name>name1</name>
<value>E012M9876</value>
<data>
<data>
<name>name2<name>
<value>E015M6789</value>
</data>
<data>
<name>name3</name>
<value>E012M9876</value>
<data>
<data>
<name>name1<name>
<value>E015M6789</value>
</data>
</xmldata>
Пользователь может искать любой оператор, такой как =, ‹, ‹=, ›=, Между и данные являются динамическими, поэтому мы не можем создавать фиксированные сегменты, запросы могут быть такими
- name1:›=E011M1234 AND name1:‹=E015M8921 (вернет 2 записи)
- name1:›E014M8769 (вернет 1 запись)
- name1:‹=E013M7659 (вернет 1 запись)
- name2:=E015M6789 (вернет 1 запись)
Я просмотрел все, чтобы найти реализацию динамического сегмента в xQuery, но ничего не нашел. https://docs.marklogic.com/guide/rest-dev/search#id_69918
Итак, не могли бы вы помочь, как написать код для реализации этого сценария?
Если хранение данных в атрибутах, а не в элементах, будет лучшим подходом, мы также можем это сделать.
<data>
<value name="name1">E015M6789</value>
</data>