2015-09-03 190 views
4

我已閱讀關於cts:search()search:search()分開,但無法弄清楚他們之間的確切區別。它說cts:search()最終使用search:search()。 任何人都可以詳細說明應該去哪裏的方案cts:search()search:search()。這與一些特殊的項目工作沒有關係,我需要實現這一點,但總的來說。搜索:搜索()vs cts:搜索()在MarkLogic

謝謝!

回答

9

Search API(例如search:search())是一個XQuery庫,爲MarkLogic的某些核心功能(如搜索,構面和聚合)提供高級接口。它使用底層的底層cts:*(和其他)庫,但會爲大多數開發人員節省一些打字和調試。

一般來說,我建議從搜索API開始。我們已經付出了很多努力來確保它的健壯和快速。例如,在進行分面搜索時,它編排並行獲取搜索結果並根據範圍索引計算分面。您可以通過Search API獲得開箱即用的便利性和最佳做法。如果您需要執行與搜索API提供的內容相同或更大的內容,則有幾個地方可以讓您使用較低級別的cts:query實例。例如,search:resolve()需要cts:query,並調用相當於search:search()

另外,對於那些在Server-Side JavaScript工作的人來說,即將發佈的8.0-4版本將引入一個專門爲JavaScript設計的類似定位的高級庫。

+0

謝謝!這真的很有幫助。 – Tia

+0

@Tia如果這回答了您的問題,請點擊按鈕接受它 - 這有助於我們跟蹤哪些問題仍然需要回復。謝謝! –