簡體   English   中英

Marklogic 性能對在光學查詢或 TDE 中放置字符串替換的位置的影響

[英]Marklogic Perfomance impact on where to place the string replacement in Optics query or TDE

它是關於在 MarkLogic 中搜索 XML 內容。

其中一個字段內部包含一些雙引號字符,這會導致 CSV 導出出現問題。 決定將雙引號改為單引號。

我使用帶有光學 API 的 TDE 來執行搜索。 有兩種方法可以實現上述修復。

  1. 將 fn:replace 放在光學 API 部件中,用於查詢 output。
  2. 進行索引時將 fn:replace 放在 TDE 部分。

在此處輸入圖像描述

兩種方法似乎都可以解決問題。 但是哪個更好,為什么? 我的直覺是選項 1 會使查詢變慢。 相反,選項 2 會使數據攝取變慢。

現在付錢給我,或者以后付錢給我 - 但文檔只需要索引一次,所以我希望在投影列時在 TDE 中完成工作會更好,但這可能取決於調用量和光學查詢結果中結果集的大小。

最好的了解方法是測試和測量兩種方式。

此外,如果您正在尋求微優化,您可能會發現translate()replace() ) 執行得更好。 您可以在一次調用中將"轉換為'
 (以及
 )。 translate()是簡單的字符替換,不使用正則表達式,因此可以更快地執行。

<val>
fn:translate(synopsis, '"&#10;',"'")
</val>

暫無
暫無

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

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