मैं डेटाबेस को कैसे बदल सकता हूं cts:search
फ़ंक्शन प्रोग्रामेटिक रूप से चलता है?मार्कलोगिक 8 - XQuery - cts: खोज - डेटाबेस को प्रोग्रामेटिक रूप से बदलें
अभी मैं क्वेरी कंसोल में हूं।
मैं डेटाबेस को कैसे बदल सकता हूं cts:search
फ़ंक्शन प्रोग्रामेटिक रूप से चलता है?मार्कलोगिक 8 - XQuery - cts: खोज - डेटाबेस को प्रोग्रामेटिक रूप से बदलें
अभी मैं क्वेरी कंसोल में हूं।
आप शायद xdmp:eval
, जिससे आपके सामने विकल्प तर्क स्वीकार करता है का उपयोग करने की आवश्यकता होगी, और वहाँ में आप डेटाबेस निर्दिष्ट कर सकते हैं: हालांकि निम्नतम स्तर पर, xdmp
xdmp:eval("cts:search(...)", (),
<options xmlns="xdmp:eval">
<database>{xdmp:database("otherdb")}</database>
</options>)
: eval, सबसे वास्तव में क्या होता है स्वच्छ विकल्प जो इनलाइन लिखने के लिए शायद सबसे आसान है xdmp:invoke-function - और इसके अलावा एक अज्ञात फ़ंक्शन का भी उपयोग करना बेहतर हो सकता है। यह संयोजन मौजूदा चर के प्राकृतिक उपयोग के लिए अनुमति देता है। आप आगे जाना चाहते हैं, तो भी xdmp को देखो: (अधिक flexability जोड़ने के लिए)
इसके अलावा, MarkLogic 8 में लागू होते हैं, वहाँ एक नया लेन-देन प्रकार कहा जाता अद्यतन-ऑटो के लिए प्रतिबद्ध है जो भी यह अच्छा बनाता है और परिणामों की प्रतीक्षा करते समय एक फ़ंक्शन इनलाइन का आह्वान करने के लिए साफ़ करें (कोई स्पॉन नहीं) और इसे अपने लेनदेन में रखें। ठीक से प्रयुक्त होता है, फिर अपडेट/डालने के परिणाम कॉलिंग कोड में भी उपलब्ध होते हैं। एक और डेटाबेस के खिलाफ खोज और स्वाभाविक रूप से मुख्य कोड में चर का उपयोग करता है:
नीचे कोड नमूना लागू होता है सीटीएस
xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
let $query := cts:word-query("foo")
let $start := 1
let $end := 3
let $database-name := "your-other-database-name-here"
return
xdmp:invoke-function(
function() {
cts:search(doc(), $query)[$start to $end]
},
<options xmlns="xdmp:eval">
<database>{xdmp:database($database-name)}</database>
</options>)
यह न केवल एक अच्छा जवाब है, लेकिन यह शायद ही सही एक है। यह निर्दिष्ट करने के आपके एकमात्र विकल्प कि कौन सी डीबी पूछताछ करने के लिए, मुझे पता है: 'xdmp: eval' family,' xdmp: परिवार को आमंत्रित करें, और 'xdmp: spawn' परिवार। – CtheGood