Microsoft SharePoint Online कनेक्टर को डिप्लॉय करना

Google Cloud Search को इस तरह से सेट अप किया जा सकता है कि वह Google Workspace के कॉन्टेंट के साथ-साथ, आपके संगठन के SharePoint Online के कॉन्टेंट से भी नतीजे दिखाए. Cloud Search SharePoint Online कनेक्टर का इस्तेमाल करें और इसे किसी खास SharePoint Online डेटा सोर्स को ऐक्सेस करने के लिए कॉन्फ़िगर करें.

विचार करने वाली ज़रूरी बातें

SharePoint Online कनेक्टर को डिप्लॉय करने से पहले, इन बातों का ध्यान रखें.

SharePoint की सेटिंग का पालन किया जाता है

कनेक्टर, SharePoint पर खोज के नतीजों में दिखने की सेटिंग का हमेशा पालन करता है. ड्राफ़्ट दस्तावेज़ों के लिए, कनेक्टर जिस उपयोगकर्ता खाते का इस्तेमाल करके SharePoint Online को ऐक्सेस करता है उस खाते की अनुमतियां यह तय करती हैं कि कनेक्टर किन ड्राफ़्ट दस्तावेज़ों को इंडेक्स करेगा और उन्हें खोज के नतीजों में दिखाएगा. अगर खाते के पास सिर्फ़ "पूरी तरह से पढ़ने" की अनुमतियां हैं, तो कनेक्टर "ड्राफ़्ट आइटम की दृश्यता" सेटिंग का पालन करता है.

उपयोगकर्ता के खाते के ऐक्सेस के आधार पर नतीजों को सीमित करने के लिए, कनेक्टर को भी कॉन्फ़िगर किया जा सकता है. सुरक्षा ट्रिमिंग लागू करने के लिए, इन बाहरी आइडेंटिटी को Google Cloud Directory के साथ सिंक करें:

  • Office 365 / Azure AD के उपयोगकर्ता.
  • Office 365 / Azure AD के सुरक्षा ग्रुप.
  • SharePoint ग्रुप (Office 365 के उपयोगकर्ताओं और ग्रुप को सदस्यों के तौर पर शामिल किया जाता है).

सर्च ऑप्टिमाइज़ेशन

कनेक्टर को कॉन्फ़िगर करके, खोज के अनुभव को बेहतर बनाएं, ताकि काम के नतीजे मिल सकें. फ़ील्ड के असर के लेवल सेट करने के लिए, कॉन्फ़िगरेशन फ़ाइल में एचटीएमएल जनरेशन पैरामीटर का इस्तेमाल करें.

स्कीमा सेट अप करने के लिए, स्कीमा बनाना और रजिस्टर करना लेख पढ़ें. स्कीमा सेट अप करते समय:

  • कनेक्टर, SharePoint के कॉन्टेंट टाइप को मान्य ऑब्जेक्ट डेफ़िनिशन के नामों (A-Z, a-z, 0-9) के हिसाब से व्यवस्थित करता है. उदाहरण के लिए, "News Article" को "NewsArticle" में बदल दिया जाता है.
  • अगर कनेक्टर किसी ऑब्जेक्ट की परिभाषा से मेल नहीं खाता है, तो यह फ़ॉलबैक ऑब्जेक्ट टाइप (itemMetadata.objectType) का इस्तेमाल करता है. मेटाडेटा कॉन्फ़िगरेशन पैरामीटर देखें.
  • कनेक्टर, SharePoint प्रॉपर्टी के नामों को प्रॉपर्टी की परिभाषाओं से मैप करता है.
  • यह कनेक्टर, Microsoft Outlook .msg फ़ाइलों के लिए मीडिया टाइप को बदल देता है. साथ ही, उन्हें application/vnd.ms-outlook के तौर पर इंडेक्स करता है.

कनेक्टर की सीमाएं

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

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

सिस्टम की ज़रूरतें
ऑपरेटिंग सिस्टम Windows Server 2016, Ubuntu, Red Hat Enterprise Linux 5.0 या SUSE Enterprise Linux 10 (64-bit).
पुष्टि करना लाइव पुष्टि.
सॉफ़्टवेयर SharePoint Online एनवायरमेंट; Java JRE 1.8.

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

SharePoint Online कनेक्टर को डिप्लॉय करने के लिए, यह तरीका अपनाएं.

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

  1. Google Workspace की निजी कुंजी बनाएं. Cloud Search API का ऐक्सेस कॉन्फ़िगर करना लेख पढ़ें.
  2. खोज के लिए कोई डेटा सोर्स जोड़ें और उसका आईडी रिकॉर्ड करें. खोज के लिए डेटा सोर्स जोड़ना लेख पढ़ें.
  3. एसीएल पर आधारित नतीजों के लिए, आपके एडमिन को दो आइडेंटिटी सोर्स बनाने होंगे. एक Office 365 के लिए और दूसरा SharePoint ग्रुप के लिए. साथ ही, उन्हें Google Workspace का ग्राहक आईडी देना होगा. मैप के उपयोगकर्ता की पहचान देखें.
  4. SharePoint Online साइट कलेक्शन एडमिन के अधिकारों के साथ, कनेक्टर के लिए उपयोगकर्ता खाता सेट अप करें.
  5. Group.Read.All और User.Read.All अनुमतियों के साथ Azure Active Directory ऐप्लिकेशन क्रेडेंशियल बनाएं. ऐप्लिकेशन आईडी, टेनेंट, और क्लाइंट सीक्रेट नोट करें.

पहला चरण. कनेक्टर सॉफ़्टवेयर इंस्टॉल करना

  1. रिपॉज़िटरी को क्लोन करें:
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. चुने गए वर्शन को देखें. जैसे, v1-0.0.3):
    $ git checkout tags/v1-0.0.3
  3. कनेक्टर बनाएं:
    $ mvn package
    टेस्ट को छोड़ने के लिए, mvn package -DskipTests का इस्तेमाल करें.
  4. ZIP फ़ाइल को इंस्टॉलेशन डायरेक्ट्री में एक्स्ट्रैक्ट करें.

दूसरा चरण. कॉन्फ़िगरेशन फ़ाइल बनाना

इंस्टॉलेशन डायरेक्ट्री में sharepoint-online-connector.config बनाएं. यहां दिए गए उदाहरण की तरह, पैरामीटर को की-वैल्यू पेयर के तौर पर जोड़ें:

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

ज़्यादा जानकारी के लिए, रेफ़रंस या Google के उपलब्ध कराए गए पैरामीटर देखें.

तीसरा चरण. लॉगिंग की सुविधा सेट अप करना

इस कॉन्टेंट का इस्तेमाल करके, एक logs फ़ोल्डर और एक logging.properties फ़ाइल बनाओ:

   handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
   # Default log level
   .level = INFO

   # uncomment line below to increase logging level for SharePoint APIsa
   #com.google.enterprise.cloudsearch.sharepoint.level=FINE

   # uncomment line below to increase logging level to enable API trace
   #com.google.api.client.http.level = FINE
   java.util.logging.ConsoleHandler.level = INFO
   java.util.logging.FileHandler.pattern=logs/connector-sharepoint.%g.log
   java.util.logging.FileHandler.limit=10485760
   java.util.logging.FileHandler.count=10
   java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

चरण 4. SharePoint आइडेंटिटी कनेक्टर को कॉन्फ़िगर करना

पहचान के आधार पर एसीएल लागू करने के लिए, अपने api.customerId और कनेक्शन के अन्य पैरामीटर के साथ sharepoint-online-identity-connector.config बनाएं. उदाहरण के लिए:

```properties
### SharePoint Online identity connector configuration ###
# Required parameters for data source access
api.customerId=C05d3djk8
api.serviceAccountPrivateKeyFile=service_account.json

# Required parameters for SharePoint Online access
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=pa$sw0rd
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE

# SharePoint identity mapping parameters
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
```

चरण 5. Office 365 आइडेंटिटी कनेक्टर इंस्टॉल करना

अगर पहचान के आधार पर SharePoint Online के ACL का इस्तेमाल किया जा रहा है, तो यह चरण पूरा करें. अगर सार्वजनिक एएलसी का इस्तेमाल किया जा रहा है, तो यह चरण छोड़ दें.

  1. Office 365 के डेटा स्टोर करने की जगह को क्लोन करें:

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
    
  2. mvn package का इस्तेमाल करके, कनेक्टर बनाएं और उसे देखें.

  3. ZIP फ़ाइल को इंस्टॉलेशन डायरेक्ट्री में एक्स्ट्रैक्ट करें.

छठा चरण. Office 365 आइडेंटिटी कनेक्टर को कॉन्फ़िगर करना

  1. आइडेंटिटी कनेक्टर इंस्टॉलेशन वाली डायरेक्ट्री में, o365-identity-connector.config नाम की एक फ़ाइल बनाएं. इसके बाद, पैरामीटर को की-वैल्यू पेयर के तौर पर जोड़ें:

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=<var>12345abcde</var>
    api.customerId=<var>abcde12345</var>
    o365.clientId=<var>a63c6eb3-29e7-486</var>
    o365.tenant=<var>185ef9ed-29e7-486</var>
    o365.clientSecret=<var>raHJN15vRLBKs</var>
    

    पैरामीटर के बारे में जानकारी के लिए, Office 365 Identity Connector देखें.

  2. उसी डायरेक्ट्री में, logs नाम का फ़ोल्डर बनाएं.

  3. उसी डायरेक्ट्री में, logging.properties नाम की एक फ़ाइल बनाएं. इसमें यह कॉन्टेंट शामिल करें:

       handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
       # Default log level
       .level = INFO
       # uncomment line below to increase logging level for Office 365 APIs
       #com.google.enterprise.cloudsearch.o365.level=FINE
    
       # uncomment line below to increase logging level to enable Google API traces
       #com.google.api.client.http.level = FINE
       java.util.logging.ConsoleHandler.level = INFO
       java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log
       java.util.logging.FileHandler.limit=10485760
       java.util.logging.FileHandler.count=10
       java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

सातवां चरण. कनेक्टर लॉन्च करना

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

  1. उपयोगकर्ताओं और ग्रुप को सिंक करने के लिए, Office 365 आइडेंटिटी कनेक्टर चलाएं:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
    
  2. साइट कलेक्शन ग्रुप को सिंक करने के लिए, SharePoint Online Identity Connector चलाएं:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-identity-connector.config
    
  3. कॉन्टेंट को इंडेक्स करने के लिए, SharePoint Online कनेक्टर चलाएं:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-connector.config
    

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

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

डेटा स्रोत की ऐक्सेस

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

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

सेवा खाते की निजी कुंजी वाली फ़ाइल का पाथ api.serviceAccountPrivateKeyFile=PrivateKey.json

ज़रूरी है. Google Cloud Search सेवा खाते की कुंजी फ़ाइल का पाथ.

SharePoint Online का ऐक्सेस

सेटिंग पैरामीटर
SharePoint साइट कलेक्शन के लिए पूरी तरह क्वालिफ़ाइड डोमेन नेम sharepoint.server=http://yoursharepoint.example.com/

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

सिर्फ़ साइट कलेक्शन वाला मोड sharepoint.siteCollectionOnly=true

ज़रूरी है. SharePoint Online के लिए, वैल्यू true पर सेट करें.

SharePoint का उपयोगकर्ता नाम sharepoint.username=username

ज़रूरी है. SharePoint Online को ऐक्सेस करने के लिए इस्तेमाल किए गए खाते का उपयोगकर्ता नाम.

SharePoint का पासवर्ड sharepoint.password=user_password

ज़रूरी है. SharePoint Online को ऐक्सेस करने के लिए इस्तेमाल किए गए खाते का पासवर्ड.

पुष्टि करने का मोड sharepoint.formsAuthenticationMode=LIVE

ज़रूरी है. SharePoint Online के लिए, वैल्यू हमेशा `LIVE` होती है.

डिप्लॉयमेंट टाइप sharepoint.deploymentType=ONLINE

ज़रूरी है. SharePoint Online के लिए, वैल्यू हमेशा `ONLINE` होती है.

SharePoint में पहचान की मैपिंग

सेटिंग पैरामीटर
पहचान स्रोत आईडी api.identitySourceId=1234567890abcdef

ज़रूरी है. SharePoint ग्रुप के आइडेंटिटी सोर्स के लिए, Cloud Search आइडेंटिटी सोर्स का आईडी.

पहचान स्रोतों को रेफ़रंस करना api.referenceIdentitySources=defaultIdentitySource

ज़रूरी है. SharePoint Online के लिए, वैल्यू हमेशा `defaultIdentitySource` होती है.

पहचान स्रोत के रेफ़रंस आईडी api.referenceIdentitySource.defaultIdentitySource.id=112233abcd

ज़रूरी है. Office 365 Users and Groups identity source के लिए, Cloud Search का आइडेंटिटी सोर्स आईडी.

एचटीएमएल कॉन्टेंट जनरेट करना

सेटिंग पैरामीटर
एचटीएमएल टेंप्लेट का टाइटल फ़ील्ड contentTemplate.sharePointItem.title=Title

यह SharePoint फ़ील्ड, जनरेट किए गए एचटीएमएल के लिए एचटीएमएल टेंप्लेट के टाइटल के तौर पर इस्तेमाल किया जाता है.

एचटीएमएल कॉन्टेंट के लिए, खोज के नतीजों की अच्छी क्वालिटी वाले फ़ील्ड contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

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

एचटीएमएल कॉन्टेंट के लिए, खोज की क्वालिटी से जुड़े फ़ील्ड contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

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

खोज के नतीजों की खराब क्वालिटी वाले फ़ील्ड के लिए एचटीएमएल कॉन्टेंट contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

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

एचटीएमएल कॉन्टेंट के ऐसे कॉलम जिनकी मैपिंग नहीं की गई है contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

कनेक्टर, मैप नहीं किए गए कॉलम को कैसे हैंडल करता है. वैल्यू APPEND (डिफ़ॉल्ट) या IGNORE होती है.

  • APPEND—कनेक्टर, सभी फ़ील्ड के साथ एचटीएमएल कॉन्टेंट जनरेट करता है. इसमें वे फ़ील्ड भी शामिल होते हैं जिनके लिए क्वालिटी लेवल (हाई, मीडियम या लो) सेट नहीं किया गया है.
  • IGNORE—कनेक्टर, सिर्फ़ मैप किए गए फ़ील्ड के साथ एचटीएमएल कॉन्टेंट जनरेट करता है.

Office 365 आइडेंटिटी कनेक्टर का कॉन्फ़िगरेशन

सेटिंग पैरामीटर
पहचान स्रोत आईडी api.identitySourceId=1234567890abcdef

ज़रूरी है. Office 365 के पहचान स्रोत का आईडी. यह वैल्यू, SharePoint Online कनेक्टर कॉन्फ़िगरेशन में मौजूद `api.referenceIdentitySource.defaultIdentitySource.id` की वैल्यू से मेल खानी चाहिए.

Google का ग्राहक आईडी api.customerId=c1b1d1e1

ज़रूरी है. आपके संगठन का Google Workspace ग्राहक आईडी.

Office 365 ऐप्लिकेशन आईडी o365.clientId=a63c6eb3-29e7-486

ज़रूरी है. Office 365 ऐप्लिकेशन सेटअप से मिला ऐप्लिकेशन आईडी.

Office 365 Tenant o365.tenant=185ef9ed-29e7-486

ज़रूरी है. आपके Office 365 खाते का किरायेदार (आपकी Azure Activity Directory ऐप्लिकेशन)

Office 365 क्लाइंट सीक्रेट o365.clientSecret=raHJN15vRLBKs

ज़रूरी है. Office 365 ऐप्लिकेशन के सेटअप से मिला क्रेडेंशियल सीक्रेट