2015-09-03 4 views
4

Я читал о cts:search() и search:search() отдельно, но не смог определить точную разницу между ними. В нем говорится, что cts:search() в конечном счете использует search:search(). Может ли кто-нибудь подробно проиллюстрировать сценарий, по которому нужно идти cts:search() и для search:search(). Это не касается какой-либо конкретной работы над проектом, где мне нужно реализовать это, но в целом.поиск: поиск() vs cts: search() в MarkLogic

Спасибо!

ответ

9

API поиска (например, search:search()) представляет собой библиотеку XQuery, которая предоставляет интерфейс высокого уровня для некоторых основных возможностей MarkLogic, таких как поиск, грани и агрегаты. Он использует библиотеки нижнего уровня cts:* (и другие) под обложками, но сэкономит большинству разработчиков кучу ввода и отладки.

В целом, я бы рекомендовал начать с API поиска. Мы приложили много усилий, чтобы убедиться, что он прочный и быстрый. Например, при выполнении фасетного поиска он организует параллельное получение результатов поиска и вычисление граней из диапазонных индексов. Есть много других примеров удобств и лучших практик, которые вы получаете из коробки с API поиска. Если вам нужно сделать что-то большее или отличное от того, что предлагает API поиска, есть несколько мест, которые позволяют работать с более низкими уровнями cts:query экземпляров. Например, search:resolve() принимает cts:query и называет эквивалент search:search().

Кроме того, для тех, кто работает в Server-Side JavaScript, предстоящий выпуск 8.0-4 представит аналогичную размещенную высокоуровневую библиотеку, разработанную специально для JavaScript.

+0

Спасибо! Это действительно полезно. – Tia

+0

@Tia Если это ответили на ваш вопрос, нажмите кнопку, чтобы принять его, что помогает нам отслеживать, какие вопросы по-прежнему нужны. Благодаря! –

2

Также стоит упомянуть, являются:

  • Client REST API, который в основном выставляет Search API в качестве интерфейса HTTP
  • Java Client API, который выставляет клиент REST API как набор удобных объектов Java, а также методы
  • Node.js Client API, который подвергает клиента REST API как набор удобных Node.js объектов, а также методы

HTH!

Смежные вопросы