![](/img/trans.png)
[英]How to load the xhtml document as a text and search the keyword in marklogic
[英]How to search the given text into marklogic XHTML file, like clt+f
我下面的XHTML文件使用URI(/ 54ab8c234f3c8ce1f5c30ddc)保存在marklogic中。
我需要基於字符串搜索Marklogic DB(如果它是標記名稱或屬性名稱或XHTML中的文本)。
我只能搜索任一屬性的文本。 但無法一次全部搜索。
注意:如果我傳遞“ SS_Default”(它是一個屬性值)字符串,它將返回marklogic的URI;或者,如果我傳遞“ META”(它是標記名稱),它將返回相應的URI;或者如果我傳遞“ Narrowed” “”(它是文本)應返回相應文件的URI。
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta>
</meta>
<body class="Default">
</body>
</html>
提取時,可以通過在原始文檔周圍創建包裝器來使用信封模式。
<envelope>
<original>
<html>...</html>
</original>
<plain-text>
put the plain text content of your html here
</plain-text>
</envelope>
您的文本搜索只能在純文本元素上執行,並且在返回結果文檔時,您可以返回內容元素。 但是正如Dave所說,您正在丟失有價值的信息。 在這里,您可以找到有關提取數據的方法的文檔https://docs.marklogic.com/guide/ingestion
您嘗試執行的搜索類型通常是彼此不同的,因為它們是不同類型的數據。 例如,如果您要搜索“元”並查找包含該元素的文檔,那么您正在查詢結構。 您可以在MarkLogic中使用以下查詢來做到這一點:
cts:uris((), (), cts:element-query(xs:QName("meta"), ()))
當您要搜索“縮小范圍”時,這只是文本,簡潔明了:
cts:uris((), (), "narrowed by")
如果要在屬性內搜索,通常可以通過指定要搜索的屬性來完成:
cts:uris((), (), cts:attribute-value-query(xs:QName("body"), xs:QName("class"), "SS_Default"))
如果要合並這些內容,可以運行一個或查詢。 我建議仔細檢查您計划運行的查詢類型,看看是否可以用這種方式進行細分。 正如mholstege指出的那樣,您可以將文檔以文本形式加載,並且能夠以字符串形式搜索所有內容,但是您會在結構中損失很多價值,因此最好退一步考慮一下是否真的需要運行那些查詢方式相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.