簡體   English   中英

如何將給定文本搜索到marklogic XHTML文件中,例如clt + f

[英]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.

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