डेटाबेस कनेक्टर को डिप्लॉय करना

चेतावनी: Cloud Search रेफ़रंस कनेक्टर को "जैसा है" वैसे ही उपलब्ध कराया गया है सैंपल कोड के रूप में जिसका इस्तेमाल खुद कनेक्टर बनाने में करें. इस सैंपल कोड की ज़रूरत है काफ़ी सुविधाओं को बनाने और टेस्ट करने के बाद ही, प्रूफ़ ऑफ़ कॉन्सेप्ट या प्रोडक्शन एनवायरमेंट में. हमारा सुझाव है कि प्रोडक्शन में मदद के लिए, हमारे किसी Cloud Search पार्टनर से मिलता है. सही क्लाउड ढूंढने में मदद पाने के लिए सर्च पार्टनर, अपने Google खाता मैनेजर से संपर्क करें.

आपके संगठन के डेटा का पता लगाने और उसे इंडेक्स करने के लिए, Google Cloud Search को सेट अप किया जा सकता है डेटाबेस को इकट्ठा करने में मदद करता है.

ज़रूरी बातें

आप Cloud Search डेटाबेस कनेक्टर को करीब-करीब ऐसे किसी भी माहौल में इंस्टॉल करके चला सकते हैं जहां Java ऐप्लिकेशन चल सकते हैं. ऐसा तब तक किया जा सकता है, जब तक कनेक्टर के पास दोनों का ऐक्सेस हो इंटरनेट और डेटाबेस पर रखा जाता है.

सिस्टम की ज़रूरतें

सिस्टम की ज़रूरतें
ऑपरेटिंग सिस्टम Windows या Linux
एसक्यूएल डेटाबेस JDBC 4.0 या उसके बाद के वर्शन के साथ काम करने वाले ड्राइवर वाला कोई एसक्यूएल डेटाबेस, जिसमें ये शामिल हैं:
  • MS SQL सर्वर (2008, 2012, 2014, 2016)
  • Oracle (11g, 12c)
  • Google क्लाउड SQL
  • MySQL
सॉफ़्टवेयर डेटाबेस को ऐक्सेस करने के लिए, कनेक्टर के लिए JDBC ड्राइवर का इस्तेमाल करें (अलग से डाउनलोड और इंस्टॉल किया गया हो)

कनेक्टर को डिप्लॉय करें

कनेक्टर को इंस्टॉल करने और उसे कॉन्फ़िगर करने का तरीका यहां बताया गया है का इस्तेमाल करें.

ज़रूरी शर्तें

Cloud Search डेटाबेस कनेक्टर को डिप्लॉय करने से पहले, यह जानकारी इकट्ठा करें:

पहला चरण. डेटाबेस कनेक्टर सॉफ़्टवेयर डाउनलोड करें और बनाएं

  1. GitHub से कनेक्टर रिपॉज़िटरी का क्लोन बनाएं.
    $ git clone https://github.com/google-cloudsearch/database-connector.git
    $ cd database-connector
  2. कनेक्टर का मनचाहा वर्शन देखें:
    $ git checkout tags/v1-0.0.3
  3. कनेक्टर बनाएं.
    $ mvn package
    कनेक्टर बनाते समय, टेस्ट स्किप करने के लिए, mvn package -DskipTests का इस्तेमाल करें.
  4. कनेक्टर की ZIP फ़ाइल को अपने लोकल इंस्टॉलेशन डायरेक्ट्री में कॉपी करें और उसे अनज़िप करें:
    $ cp target/google-cloudsearch-database-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-database-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-database-connector-v1-0.0.3

दूसरा चरण. डेटाबेस कनेक्टर को कॉन्फ़िगर करें

  1. एक टेक्स्ट फ़ाइल बनाएं और इसे connector-config.properties (डिफ़ॉल्ट) या इससे मिलता-जुलता नाम दें. Google के सुझाव कि आप .properties के साथ कॉन्फ़िगरेशन फ़ाइलों को नाम देते हैं या .config एक्सटेंशन का इस्तेमाल करके, फ़ाइल को उसी डायरेक्ट्री में रखें जिसमें कनेक्टर है. अगर किसी दूसरे नाम या पाथ का इस्तेमाल किया जाता है, तो कनेक्टर चलाते समय आपको पाथ की जानकारी देनी होगी.
  2. फ़ाइल के कॉन्टेंट में पैरामीटर को की/वैल्यू पेयर के तौर पर जोड़ें. कॉन्फ़िगरेशन फ़ाइल में यह बताना ज़रूरी है डेटा सोर्स ऐक्सेस, डेटाबेस ऐक्सेस, डेटाबेस फ़ुल ट्रेवर्सल एसक्यूएल स्टेटमेंट के लिए पैरामीटर, और कॉलम की परिभाषाएं. आपके पास अन्य कनेक्टर के व्यवहार को भी कॉन्फ़िगर करने का विकल्प होता है पैरामीटर होना चाहिए. उदाहरण के लिए:
    # Required parameters for data source access
    api.sourceId=1234567890abcdef
    api.identitySourceId=0987654321lmnopq
    api.serviceAccountPrivateKeyFile=./PrivateKey.json
    #
    # Required parameters for database access
    db.url=jdbc:mysql://localhost:3306/mysql_test
    db.user=root
    db.password=passw0rd
    #
    # Required full traversal SQL statement parameter
    db.allRecordsSql=select customer_id, first_name, last_name, phone, change_timestamp from address_book
    #
    # Required parameters for column definitions and URL format
    db.allColumns=customer_id, first_name, last_name, phone, change_timestamp
    db.uniqueKeyColumns=customer_id
    url.columns=customer_id
    #
    # Required content field parameter
    contentTemplate.db.title=customer_id
    #
    # Optional parameters to set ACLs to "entire domain" access
    defaultAcl.mode=fallback
    defaultAcl.public=true
    #
    # Optional parameters for schedule traversals
    schedule.traversalIntervalSecs=36000
    schedule.performTraversalOnStart=true
    schedule.incrementalTraversalIntervalSecs=3600
    

    डेटाबेस के हिसाब से पैरामीटर के बारे में ज़्यादा जानकारी के लिए, यहां जाएं इस लेख के आखिर में कॉन्फ़िगरेशन पैरामीटर के बारे में जानकारी दी गई है.

    उन पैरामीटर के बारे में जानने के लिए जो Cloud Search के लिए आम हैं कनेक्टर, जैसे कि मेटाडेटा कॉन्फ़िगरेशन, तारीख और समय के फ़ॉर्मैट, और एसीएल विकल्प Google से मिले कनेक्टर पैरामीटर.

    अगर लागू हो, तो ट्रेवर्सल एसक्यूएल में स्कीमा ऑब्जेक्ट की प्रॉपर्टी बताएं क्वेरी पैरामीटर की तरह नहीं है. आम तौर पर, एसक्यूएल में उपनामों को जोड़ा जा सकता है स्टेटमेंट का इस्तेमाल करें. उदाहरण के लिए, अगर आपके पास कोई फ़िल्म है डेटाबेस और डेटा सोर्स स्कीमा में एक प्रॉपर्टी डेफ़िनिशन होती है, जिसका नाम "ActorName", एक SQL स्टेटमेंट का यह फ़ॉर्म हो सकता है: SELECT …, last_name AS ActorName, … FROM … .

तीसरा चरण. डेटाबेस कनेक्टर चलाएं

नीचे दिए गए उदाहरण में माना गया है कि ज़रूरी कॉम्पोनेंट, डायरेक्ट्री पर क्लिक करें.

कमांड लाइन से कनेक्टर को चलाने के लिए, यह कमांड डालें:

java \
   -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar" \
   com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector \
   [-Dconfig=mysql.config]

कहां:

  • google-cloud-search-database-connector-v1-0.0.3.jar है डेटाबेस कनेक्टर .jar फ़ाइल
  • mysql-connector-java-5.1.41-bin.jar इस्तेमाल किया जा रहा JDBC ड्राइवर है डेटाबेस को ऐक्सेस करने के लिए
  • mysql.config एक कस्टम नाम वाली कॉन्फ़िगरेशन फ़ाइल है. यह पक्का करने के लिए कि कनेक्टर आपकी कॉन्फ़िगरेशन फ़ाइल है, तो कमांड लाइन पर इसका पाथ बताएं. इसके अलावा, कनेक्टर आपके स्थानीय भाषा में connector-config.properties डायरेक्ट्री को डिफ़ॉल्ट फ़ाइल नाम के रूप में सेट करें.

कनेक्टर, कॉन्फ़िगरेशन की गड़बड़ियों का पता लगाते ही उनकी रिपोर्ट करता है. कुछ गड़बड़ियों की शिकायत तब की जाती है, जब कनेक्टर शुरू हो जाता है, जैसे कि जब रिकॉर्ड कॉन्टेंट के हिस्से के रूप में डेटाबेस कॉलम तय किया जाता है (db.allColumns में), लेकिन इस कॉलम का इस्तेमाल डेटाबेस (db.allRecordsSql में). अन्य गड़बड़ियों का पता सिर्फ़ तब लगाया और उन्हें रिपोर्ट किया जाता है, जब कनेक्टर पहले ट्रैवर्सल के लिए, डेटाबेस को ऐक्सेस करने की कोशिश करता है, जैसे कि अमान्य एसक्यूएल स्टेटमेंट सिंटैक्स.

कॉन्फ़िगरेशन पैरामीटर के बारे में जानकारी

डेटा सोर्स के ऐक्सेस पैरामीटर

सेटिंग पैरामीटर
डेटा सोर्स का आईडी api.sourceId = source-ID

ज़रूरी है. Cloud Search सोर्स आईडी जिसे Google Workspace एडमिन सेट अप करता है.

पहचान स्रोत आईडी api.identitySourceId = identity-source-ID

एसीएल के लिए बाहरी उपयोगकर्ताओं और ग्रुप का इस्तेमाल करना ज़रूरी है. Cloud Search पहचान स्रोत आईडी जिसे Google Workspace एडमिन ने सेट अप किया है.

सेवा खाता api.serviceAccountPrivateKeyFile = path-to-private-key

ज़रूरी है. Cloud Search का पाथ सेवा खाते की कुंजी फ़ाइल को सेव करता है, जिसे Google Workspace एडमिन ने बनाया है.

डेटाबेस ऐक्सेस के पैरामीटर

सेटिंग पैरामीटर
डेटाबेस यूआरएल db.url = database-URL

ज़रूरी है. कॉन्टेंट बनाने ऐक्सेस किए जाने वाले डेटाबेस का पूरा पाथ, जैसे कि jdbc:mysql://127.0.0.1/dbname.

डेटाबेस का उपयोगकर्ता नाम और पासवर्ड db.user = username
db.password = password

ज़रूरी है. मान्य उपयोगकर्ता नाम और एक पासवर्ड होता है, जिसका इस्तेमाल कनेक्टर डेटाबेस ऐक्सेस करने के लिए करता है. इस डेटाबेस उपयोगकर्ता को यह अवश्य करना चाहिए पढ़ने के लिए डेटाबेस के प्रासंगिक रिकॉर्ड को पढ़ने का ऐक्सेस होना चाहिए.

JDBC ड्राइवर db.driverClass = oracle.jdbc.OracleDriver

सिर्फ़ तब ज़रूरी है, जब क्लास पाथ में JDBC 4.0 ड्राइवर पहले से तय न किया गया हो.

ट्रैवर्सल एसक्यूएल क्वेरी पैरामीटर

कनेक्टर, एसक्यूएल SELECT की मदद से डेटाबेस रिकॉर्ड को ट्रैक करता है कॉन्फ़िगरेशन फ़ाइल में क्वेरी की है. आपको एक पूरी ट्रेवर्सल क्वेरी कॉन्फ़िगर करनी होगी; के लिए क्वेरी इंंक्रीमेंटल ट्रैवर्सल का इस्तेमाल करना ज़रूरी नहीं है.

पूरा ट्रेवर्सल, इंडेक्स करने के लिए कॉन्फ़िगर किए गए हर डेटाबेस रिकॉर्ड को पढ़ता है. एक पूरा Cloud Search के लिए नए रिकॉर्ड को इंडेक्स करने और उन्हें फिर से इंडेक्स करने के लिए, ट्रैवर्सल की ज़रूरत होती है सभी मौजूदा रिकॉर्ड.

इंक्रीमेंटल ट्रैवर्सल सिर्फ़ नए बदले गए डेटाबेस को पढ़ता है और उसे फिर से इंडेक्स करता है रिकॉर्ड और डेटाबेस में हाल की एंट्री. इंक्रीमेंटल ट्रैवर्सल इससे ज़्यादा कारगर हो सकते हैं फ़ुल ट्रैवर्सल. इंक्रीमेंटल ट्रैवर्सल का इस्तेमाल करने के लिए, आपके डेटाबेस में टाइमस्टैंप फ़ील्ड होने चाहिए का इस्तेमाल करें.

कनेक्टर इन ट्रैवर्सल को उन शेड्यूल के मुताबिक एक्ज़ीक्यूट करता है जो आपने तय किए हैं ट्रैवर्सल शेड्यूल पैरामीटर.

सेटिंग पैरामीटर
पूरी ट्रैवर्सल क्वेरी db.allRecordsSql = SELECT column-1[, column-2,...] FROM database-name

ज़रूरी है. हर पूरे ट्रेवर्सल के लिए क्वेरी चलती है.

हर कॉलम का वह नाम जिसे कनेक्टर किसी भी कॉलम में इस्तेमाल करेगा इस क्वेरी में क्षमता (कॉन्टेंट, यूनीक आईडी, ACL) मौजूद होनी चाहिए. कॉन्टेंट बनाने कनेक्टर, स्टार्टअप पर गड़बड़ियों का पता लगाने के लिए शुरुआती पुष्टि करता है और चूकों को कम करना. इस वजह से, किसी सामान्य "SELECT * FROM ..." का इस्तेमाल न करें क्वेरी.

फ़ुल ट्रैवर्सल पेज नंबर db.allRecordsSql.pagination = {none | offset}

इसका मान ऐसा हो सकता है:

  • कोई भी नहीं: पेज नंबर का इस्तेमाल न करें
  • ऑफ़सेट: पंक्ति ऑफ़सेट के हिसाब से पेजिनेशन का इस्तेमाल करें

    ऑफ़सेट के हिसाब से, पेजों का क्रम तय करने के लिए, एसक्यूएल क्वेरी में प्लेसहोल्डर वाला सवाल का निशान (?) होना चाहिए एक पंक्ति ऑफ़सेट के लिए, शून्य से शुरू करते हुए. हर पूरे ट्रेवर्सल में, क्वेरी बार-बार एक्ज़ीक्यूट होती है जब तक कोई नतीजा नहीं मिलता.

इंक्रीमेंटल ट्रैवर्सल क्वेरी db.incrementalUpdateSql = SELECT column-1[, column-2,...] FROM database-name WHERE last_update_time > ?

अगर इंक्रीमेंटल ट्रैवर्सल शेड्यूल किए जाते हैं, तो ज़रूरी है.

"?" क्वेरी में, टाइमस्टैंप वैल्यू के लिए एक ज़रूरी प्लेसहोल्डर है. कॉन्टेंट बनाने कनेक्टर, इंक्रीमेंटल ट्रैवर्सल एसक्यूएल क्वेरी के बीच के बदलावों को ट्रैक करने के लिए टाइमस्टैंप का इस्तेमाल करता है.

पिछले अपडेट के समय का डेटाबेस टाइमस्टैंप कॉलम ट्रैक करने के लिए, एसक्यूएल स्टेटमेंट के लिए timestamp_column उपनाम; अन्यथा, मौजूदा टाइमस्टैंप का उपयोग करें कनेक्टर ट्रैवर्सल.

पहले इंक्रीमेंटल ट्रैवर्सल के लिए, कनेक्टर, कनेक्टर के शुरू होने के समय का इस्तेमाल करता है. इसके बाद पहले इंक्रीमेंटल ट्रैवर्सल के दौरान, Cloud Search टाइमस्टैंप को सेव करता है, ताकि कनेक्टर को रीस्टार्ट करने से, पिछले इंक्रीमेंटल ट्रैवर्सल को ऐक्सेस किया जा सकता है टाइमस्टैंप.

डेटाबेस का टाइम ज़ोन db.timestamp.timezone = America/Los_Angeles

डेटाबेस के टाइमस्टैंप के लिए, टाइम ज़ोन के बारे में जानकारी देता है. डेटाबेस टाइमस्टैंप, जिसका इस्तेमाल नए रिकॉर्ड जोड़ने या नए रिकॉर्ड की पहचान करने के लिए किया जाता है डेटाबेस रिकॉर्ड में बदलाव किया गया है. डिफ़ॉल्ट रूप से, वह लोकल टाइम ज़ोन होता है जहां कनेक्टर चल रहा है.

ट्रैवर्सल एसक्यूएल क्वेरी के उदाहरण

  • सामान्य पूरी ट्रैवर्सल क्वेरी, जो इंडेक्स करने के लिए कर्मचारी के डेटाबेस में दिलचस्पी के सभी रिकॉर्ड को पढ़ती है:
    db.allRecordsSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field \
        FROM employee
  • ऑफ़सेट के हिसाब से, पेज नंबर डालें और पूरे ट्रेवर्सल को एक से ज़्यादा क्वेरी में बांटें.

    SQL Server 2012 या Oracle 12c (मानक SQL 2008 सिंटैक्स) के लिए:

    db.allRecordsSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field \
        FROM employee \
        ORDER BY customer_id OFFSET ? ROWS FETCH FIRST 1000 ROWS ONLY
    db.allRecordsSql.pagination = offset
    

    इसके अलावा, MySQL या Google Cloud SQL के लिए:

    db.allRecordsSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field \
        FROM employee \
        ORDER BY customer_id LIMIT 1000 OFFSET ?
    db.allRecordsSql.pagination = offset
  • पूरी ट्रैवर्सल क्वेरी जो उपनाम वाले अलग-अलग ACL लागू करती है:
    db.allRecordsSql = SELECT customer_id, first_name, last_name,  employee_id, interesting_field, last_update_time, \
         permitted_readers AS readers_users, \
         denied_readers AS denied_users, \
         permitted_groups AS readers_groups, \
         denied_groups AS denied_groups \
         FROM employee
  • बेसिक इंक्रीमेंटल ट्रैवर्सल क्वेरी:
    db.incrementalUpdateSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field, last_update_time \
         FROM employee \
         WHERE last_update_time > ?
  • ऐसी इंक्रीमेंटल ट्रैवर्सल क्वेरी जो उपनाम के साथ अलग-अलग ACL लागू करती है:
    db.incrementalUpdateSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field, last_update_time, \
         permitted_readers AS readers_users, \
         denied_readers AS denied_users, \
         permitted_groups AS readers_groups, \
         denied_groups AS denied_groups \
         FROM employee \
         WHERE last_update_time > ?
  • इंक्रीमेंटल ट्रैवर्सल क्वेरी, जो मौजूदा समय के बजाय डेटाबेस टाइमस्टैंप का इस्तेमाल करती है:
    db.incrementalUpdateSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field, \
         last_update_time AS timestamp_column \
         FROM employee \
         WHERE last_update_time > ?

कॉलम की परिभाषा के पैरामीटर

ये पैरामीटर उन कॉलमों की जानकारी देते हैं जिनका इस्तेमाल आप ट्रैवर्सल स्टेटमेंट में और हर रिकॉर्ड को अच्छी तरह से पहचानने में मदद मिलती है.

सेटिंग पैरामीटर
सभी कॉलम db.allColumns = column-1, column-2, ...column-N

ज़रूरी है. सभी कॉलम की पहचान करता है जो डेटाबेस ऐक्सेस करते समय एसक्यूएल क्वेरी में ज़रूरी होती हैं. कॉलम इस पैरामीटर के साथ तय किए गए शब्द को क्वेरी में साफ़ तौर पर रेफ़र किया जाना चाहिए. कई कॉलम के इस सेट के साथ अन्य कॉलम परिभाषा पैरामीटर की तुलना की जाती है.

उदाहरण:

db.allColumns = customer_id, first_name, last_name, phone, change_timestamp
कुंजी के यूनीक कॉलम db.uniqueKeyColumns = column-1[, column-2]

ज़रूरी है. इनमें से कोई एक सूची देता है कोई ऐसा डेटाबेस कॉलम जिसमें यूनीक वैल्यू या दोनों शामिल हों कॉलम हैं, जिनके मान मिलकर एक यूनीक आईडी तय करते हैं.

Cloud Search में, खोजे जा सकने वाले हर दस्तावेज़ का एक यूनीक आइडेंटिफ़ायर होना चाहिए डेटा सोर्स में मौजूद होता है. यह ज़रूरी है कि आप हर डेटाबेस रिकॉर्ड के लिए एक यूनीक आईडी तय कर पाएं की वैल्यू डालें. अगर आपको अलग-अलग डेटाबेस पर कई कनेक्टर चलाना है, लेकिन एक समान डेटासेट में इंडेक्स करें, तो पक्का करें कि आप एक खास आईडी सभी दस्तावेज़ों में लागू होगी.

उदाहरण:

db.uniqueKeyColumns = customer_id
# or
db.uniqueKeyColumns = last_name, first_name
यूआरएल लिंक कॉलम url.columns = column-1[, column-2]

ज़रूरी है. इस नीति से, एक या उससे ज़्यादा मान्य और परिभाषित जानकारी मिलती है क्लिक किए जा सकने वाले खोज के नतीजे के लिए इस्तेमाल किए गए यूआरएल के कॉलम के नाम. जिन डेटाबेस में हर डेटाबेस रिकॉर्ड से जुड़ा कोई काम का यूआरएल नहीं होता उनके लिए, स्टैटिक लिंक का इस्तेमाल हर रिकॉर्ड के लिए किया जा सकता है.

हालांकि, अगर कॉलम मान हर रिकॉर्ड के लिए एक मान्य लिंक तय करते हैं, तो व्यू यूआरएल कॉलम और फ़ॉर्मैट कॉन्फ़िगरेशन की वैल्यू बताई जानी चाहिए.

यूआरएल का फ़ॉर्मैट url.format = https://www.example.com/{0}

इससे व्यू यूआरएल का फ़ॉर्मैट तय होता है. संख्या वाले पैरामीटर, कॉलम से जुड़े होते हैं db.columns में दी गई जानकारी मौजूद है. यह संख्या शून्य से शुरू होती है.

अगर इसके बारे में नहीं बताया गया है, तो डिफ़ॉल्ट वैल्यू "{0}" होती है.

इस टेबल में दिए गए उदाहरण देखें.

यूआरएल के लिए, प्रतिशत में एन्कोड किए गए कॉलम url.columnsToEscape = column-1[, column-2]

इस नीति से, db.columns से ऐसे कॉलम की जानकारी मिलती है जिनकी वैल्यू प्रतिशत के हिसाब से कोड में बदली जाएंगी शामिल करने से पहले उन्हें फ़ॉर्मैट किए गए यूआरएल स्ट्रिंग में शामिल करें.

यूआरएल कॉलम के उदाहरण

ट्रैवर्सल क्वेरी में इस्तेमाल किए जाने वाले कॉलम और व्यू यूआरएल का फ़ॉर्मैट तय करने के लिए:

  • डेटाबेस रिकॉर्ड वैल्यू का इस्तेमाल न करने वाले स्टैटिक यूआरएल का इस्तेमाल करने के लिए:
    url.format = https://www.example.com
  • किसी सिंगल कॉलम वैल्यू का इस्तेमाल करने के लिए, जो व्यू यूआरएल है:
    url.format = {0}
    url.columns = customer_id
  • {0} स्थिति पर दृश्य URL में बदले जाने वाले एकल कॉलम मान का उपयोग करने के लिए:
    url.format = https://www.example.com/customer/id={0}
    url.columns = customer_id
    url.columnsToEscape = customer_id
  • व्यू यूआरएल बनाने के लिए, एक से ज़्यादा कॉलम की वैल्यू का इस्तेमाल करने के लिए (कॉलम, क्रम पर निर्भर होते हैं):
    url.format = {1}/customer={0}
    url.columns = customer_id, linked_url
    url.columnsToEscape = customer_id

कॉन्टेंट फ़ील्ड

रिकॉर्ड की कौनसी वैल्यू तय करनी हैं, यह तय करने के लिए, कॉन्टेंट के विकल्पों का इस्तेमाल करें उसे खोजे जाने लायक कॉन्टेंट का हिस्सा बनाया जाना चाहिए.

सेटिंग पैरामीटर
बेहतरीन क्वालिटी वाला खोज कॉलम contentTemplate.db.title = column-name

ज़रूरी है. खोज को इंडेक्स करने और नतीजों की प्राथमिकता तय करने के लिए, सबसे अच्छी क्वालिटी वाला कॉलम.

खोज के लिए कॉलम की प्राथमिकता contentTemplate.db.quality.high = column-1[, column-2...]
contentTemplate.db.quality.medium = column-1[, column-2...]
contentTemplate.db.quality.low = column-1[, column-2...]

कॉन्टेंट कॉलम तय करें (contentTemplate.db.title के लिए कॉलम सेट को छोड़कर) को खोज क्वालिटी वाले फ़ील्ड के तौर पर 'ज़्यादा', 'मीडियम' या 'लो' पर सेट किया जा सकता है. बिना जानकारी वाले कॉलम, डिफ़ॉल्ट रूप से कम पर सेट होते हैं.

सामग्री डेटा कॉलम db.contentColumns = column-1[, column-2...]

डेटाबेस में कॉन्टेंट कॉलम की जानकारी दें. इन्हें प्रारूपित किया गया है और दस्तावेज़ के कॉन्टेंट के तौर पर, Cloud Search पर अपलोड किया जा सकता है.

अगर कोई वैल्यू तय नहीं की जाती है, तो डिफ़ॉल्ट तौर पर "*" डिफ़ॉल्ट होता है जिससे पता चलता है कि सभी कॉलम का इस्तेमाल कॉन्टेंट के लिए किया जाना चाहिए.

ब्लॉब कॉलम db.blobColumn = column-name

एक ब्लॉब का नाम बताएं सामग्री कॉलम के संयोजन की बजाय दस्तावेज़ सामग्री के लिए उपयोग करने के लिए कॉलम.

अगर कोई BLOB कॉलम तय किया गया है, तो कॉन्टेंट कॉलम होने पर इसे गड़बड़ी माना जाता है भी परिभाषित किए गए हैं. हालांकि, मेटाडेटा और स्ट्रक्चर्ड डेटा कॉलम की परिभाषाएं BLOB कॉलम के साथ भी हो सकता है.