奖金简单搜索示例(另一种阅读方式)

MarkLogic 首先是搜索引擎,所以让我们使用两种不同的方法来搜索这个文档。

使用搜索:search()

这样可以了解如何使用 search:search() 来开发搜索应用程序。该库提供类似 Google 的搜索结果,可能会加快你开发简单的搜索工具的速度。可在此处找到更多信息和更深入的潜水。

xquery version "1.0-ml";
import module namespace search = "http://marklogic.com/appservices/search"
     at "/MarkLogic/appservices/search/search.xqy";
(: What is search without a keyword? :)
let $term := "very simple"
return search:search($term)

结果看起来有点令人困惑,但你可以看到它返回一个结果,我们的示例文档。

使用 cts:search()

更高级的搜索情况可能需要更精细的搜索功能。这只是为了激发你对搜索中可用内容的兴趣。更多详细信息可在此处找到

xquery version "1.0-ml";
(: What is search without a keyword? :)
let $term := "very simple"
(: Complex queries can be made from individual cts queries. Here, we just have one simple query :)
let $query := cts:word-query($term,"case-insensitive")
(: Return the documents that match the query :)
return cts:search(fn:doc(),$query)

这是一个非常简单的例子。顺便说一句,如果我们想要取回匹配文件的 URI 而不是文件本身,我们可以将这个片段的最后一行改为 -

return 
  for $result in cts:search(fn:doc(),$query)
    return fn:base-uri($result)