2016-07-15 13 views
2

Ich bin neu bei MarkLogic und habe bereits einige PDFs als .xml-Dateien in meine Datenbank geladen und konvertiert.Wie kann ich nur die wichtigsten Informationen zu einem Dokument und Zeilen zu dem Wort erhalten, nach dem ich in MarkLogic/Query Console gesucht habe?

Meine 10 PDFs sind etwa 500 Seiten pro lang. Wenn ich die Suche nach einem Wort in Query-Konsole wie diese,

cts.search("Infrastructurefunctions") 

Ich werde jedes Dokument mit dem Wort Infrastructurefunctions in ihm mit seinem ganzen Körper/Inhalt (ca. 500 Seiten) sehen. Und Sie können nicht sehen, wo ein neues Dokument beginnt.

Mein Ziel ist es, ein Ergebnis wie die Ergebnisse haben Sie erhalten auf Google:

  • Nur der Name des Dokuments
  • Und das Wort, das ich mit einigen Worten herum hervorgehoben gesucht, den Kontext zu bekommen

Vielen Dank für mich zu helfen :)

Antwort

2

Die Funktion cts.search (sowie alle anderen cts-Funktionen) ist ein Low-Level-Tool. Es gibt mehr abstrakte Bibliotheken, die viel besser für Sie arbeiten. Für XQuery haben wir die search:search Funktion und verwandte. Für JavaScript haben Sie JSearch. Ich kann einen Blick in jenen sehr empfehlen:

HTH!

+0

ich ausprobiert JSearch, aber ich dies immer erhalten: _ [Javascript] XDMP-MODNOTFOUND: var jsearch = require ('/ Marklogic/jsearch.sjs'); - Modul /MarkLogic/jsearch.sjs nicht found_ – Jeo

+0

Es wurde in 8,0-4 eingeführt, benötigen Sie mindestens die Version: https://docs.marklogic.com/guide/relnotes/chap3#id_20318 – grtjn

0

Ja, es gibt Bibliotheken, die dies für Sie tun kann, aber ich denke immer, es macht Spaß/wichtig zu lernen, wie einige dieser selbst zu tun. Dies gibt Ihnen mehr Flexibilität.

Also, von den Ergebnissen, haben einen Blick auf: cts:walk

Das zweite Beispiel ist eine nette Probe von dem, was Sie eventuell in Erwägung ziehen.