簡體   English   中英

將 cts:search 的邏輯轉換為 search:search

[英]Converting the logic for cts:search to search:search

我一直在我的項目中使用cts:search ,但不知何故,感覺結果時間比預期的要長一些。 可以search:search幫助嗎? 如果是這樣,怎么做?

例如,我的查詢為

let $query := cts:and-query((cts:element-value-query(xs:QName("Applicability"),"Yes"))) 

我想獲取文檔 URI。 我正在使用:

cts:search(collection("abc"), $query) 

它返回了 URI,但是如何使用search:search提取呢? 或者除了搜索之外還有什么可以幫助提高執行時間的嗎?

您是對檢索文檔感興趣,還是只對 URI 感興趣?

如果您只想檢索具有該值的元素的文檔的 URI,則使用cts:uris()而不是cts:search() cts:uris() function 未經過濾運行,只會從詞典返回 URI,而不是檢索所有文檔,如果不需要內容,這可能比cts:search昂貴得多。

cts:uris("", (), cts:and-query(( collection("abc"), $query)) ) 

使用cts:search時,我會嘗試的第一件事是將unfiltered的選項添加到您的搜索中,看看是否有幫助。

默認情況下cts:search執行過濾:

過濾搜索(默認)。 過濾搜索消除了任何誤報匹配,並正確解決了同一片段中存在多個候選匹配的情況。 過濾后的搜索結果完全滿足指定的cts:query

因此,嘗試使用“未過濾”選項執行相同的查詢:

cts:search(collection("abc"), $query, "unfiltered") 

您還可以使用 element-range-index 或 field-range- index在該 Applicability 元素上創建索引,然后使用適當的范圍查詢而不是值查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM