Удаление данных релевантности из результатов запроса Marklogic - PullRequest
0 голосов
/ 27 сентября 2018

С помощью приведенного ниже запроса я хотел бы изменить параметры, чтобы получать только значения.Запрос возвращает путь, релевантность и значения.Мне просто нужны значения, чтобы я мог редактировать их для целей отчетности.Могу ли я получить представление о том, как выполнить эту задачу?Я также использую Javascript API в Marklogic 8.

results = jsearch.documentSelect(cts.search($error_details), 
                     {namespaces: {//emf:namespace is declared here},
                      extract: {paths: ['//emf:properties/emf:property[@key = "filename"]/.',
                               '//emf:properties/emf:property[@key = "idnumber"]/.',
                               '//emf:properties/emf:property[@key = "error description"]/.',
                               '//emf:properties/emf:property[@key = "error code"]/.']}
                     }).toString();

Запрос

cts.andQuery([
cts.elementRangeQuery(fn.QName('uri','creation-time'), ">=", $startDate),
cts.elementRangeQuery(fn.QName('uri','creation-time'), "<", $endDate),
cts.elementValueQuery(fn.QName('uri','component-name'), "InvalidFiles" ),
cts.elementValueQuery(fn.QName('uri','category'), "error")
])

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Есть несколько параметров поиска , которые позволяют настроить ваш ответ на поиск.Например, вы можете отключить возврат агрегатов с помощью этой опции:

<options xmlns="http://marklogic.com/appservices/search">
  <return-aggregates>false</return-aggregates>
</options>

Запрос возвращает путь, релевантность и значения.

Если вы имеете в видуоценка, уверенность и пригодность по «релевантности», я не думаю, что есть вариант для этого.

0 голосов
/ 28 сентября 2018

Похоже, что в этом случае может не потребоваться оболочка jsearch.documentSelect ().

Функция cts.search () возвращает документы как ValueIterator в MarkLogic 8.

Один из простых способов обработки документов состоит в том, чтобы связать функции toArray () - как в cts.search (). ToArray () - и затем объединить в цепочку стандартные функции map () или reduce () для преобразования документов вreport.

Сноска: cts.search () возвращает Sequence в MarkLogic 9, но последовательности также имеют функцию toArray ().

Надеюсь, что поможет,

...