Google Cloud Search को सेट अप करके, Google Workspace के कॉन्टेंट के साथ-साथ, अपने संगठन के Microsoft Windows शेयर से भी नतीजे दिखाए जा सकते हैं. Google Cloud Search के फ़ाइल सिस्टम कनेक्टर का इस्तेमाल करें और इसे कॉन्फ़िगर करके, चुनिंदा Windows शेयर ऐक्सेस करें. एक कनेक्टर इंस्टेंस, कई Microsoft Windows शेयर के साथ काम कर सकता है.
ज़रूरी बातें
अपने-आप लगातार अपडेट होना
डिफ़ॉल्ट रूप से, कनेक्टर के चालू होने पर, कनेक्टर लगातार स्टार्ट पाथ (कनेक्टर कॉन्फ़िगरेशन फ़ाइल में fs.src
की वैल्यू) पर नज़र रखता है. जब फ़ाइल सिस्टम, कॉन्टेंट या ऐक्सेस कंट्रोल में हुए बदलावों की रिपोर्ट करता है, तो कनेक्टर को फ़ाइल सिस्टम को फिर से क्रॉल करने के लिए ट्रिगर किया जाता है. यह फिर से क्रॉल करने की प्रोसेस, ज़्यादा संसाधनों की मांग कर सकती है. फ़ाइल सिस्टम की निगरानी की सुविधा बंद करने के लिए, fs.monitorForUpdates
को false
पर सेट करें. इससे कनेक्टर के संसाधनों के इस्तेमाल में काफ़ी कमी आती है. हालांकि, कनेक्टर में बदलावों को लागू होने में ज़्यादा समय लगता है. ज़्यादा जानें
डीएफ़एस ऐक्सेस कंट्रोल
डीएफ़एस सिस्टम, अपने लिंक पर ऐक्सेस कंट्रोल लागू करता है. आम तौर पर, हर डीएफ़एस लिंक का अपना एसीएल होता है. डीएफ़एस का इस्तेमाल करने का एक तरीका, ऐक्सेस के आधार पर एलिमेंट की गिनती (एबीई) है. इससे, किसी उपयोगकर्ता को दिखाए जाने वाले डीएफ़एस लिंक पर पाबंदी लगाई जा सकती है. हो सकता है कि उपयोगकर्ताओं को डीएफ़एस लिंक का सिर्फ़ सबसेट मिले या होस्ट की गई होम डायरेक्ट्री को एबीई से अलग करने पर, सिर्फ़ एक लिंक मिले. जब कनेक्टर किसी डीएफ़एस सिस्टम को ट्रैवर्स करता है, तो वह डीएफ़एस लिंक एसीएल और टारगेट के शेयर एसीएल का पालन करता है. साथ ही, शेयर एसीएल को डीएफ़एस एसीएल से इनहेरिट किया जाता है.
सीमाएं
- फ़ाइल सिस्टम: फ़ाइल सिस्टम कनेक्टर, मैप की गई ड्राइव और लोकल ड्राइव के साथ काम नहीं करता.
- डिस्ट्रिब्यूटेड फ़ाइल सिस्टम: UNC DFS में मैप की गई ड्राइव ठीक से काम नहीं करती. कुछ एसीएल सही तरीके से नहीं पढ़े जाते.
- फ़ाइल सिस्टम कनेक्टर, डिस्ट्रिब्यूटेड फ़ाइल सिस्टम (डीएफ़एस) नेमस्पेस और लिंक के साथ काम करता है. हालांकि, कनेक्टर सिर्फ़ डीएफ़एस नेमस्पेस में डीएफ़एस लिंक के साथ काम करता है, न कि डीएफ़एस नेमस्पेस में मौजूद सामान्य फ़ोल्डर के साथ.
- cloudsearch.google.com पर फ़ाइल के जो लिंक दिखते हैं उन पर क्लिक नहीं किया जा सकता. ज़्यादातर ब्राउज़र में, Query API से मिले फ़ाइल लिंक पर क्लिक नहीं किया जा सकता.
सिस्टम की ज़रूरतें
सिस्टम की ज़रूरतें | |
---|---|
ऑपरेटिंग सिस्टम |
|
सॉफ़्टवेयर |
|
फ़ाइल सिस्टम प्रोटोकॉल |
इन पर काम नहीं करता: Windows के लोकल फ़ाइल सिस्टम, Sun Network File System (NFS) 2.0, Sun Network File System (NFS) 3.0 या Linux के लोकल फ़ाइल सिस्टम. |
कनेक्टर को डिप्लॉय करना
ज़रूरी शर्तें
Cloud Search फ़ाइल सिस्टम कनेक्टर को डिप्लॉय करने से पहले, पक्का करें कि आपके एनवायरमेंट में ये सभी ज़रूरी कॉम्पोनेंट मौजूद हों:
Google Cloud Search और डेटा सोर्स के बीच संबंध बनाने के लिए, Google Workspace की ज़रूरी जानकारी:
- Google Workspace की निजी कुंजी (इसमें सेवा खाता आईडी शामिल होता है). निजी कुंजी पाने के बारे में जानकारी पाने के लिए, Google Cloud Search REST API का ऐक्सेस कॉन्फ़िगर करें पर जाएं.
- Google Workspace का डेटा सोर्स आईडी. डेटा सोर्स आईडी पाने के बारे में जानने के लिए, खोज के लिए डेटा सोर्स जोड़ें पर जाएं.
- पहचान स्रोत आईडी. आइडेंटिटी सोर्स आईडी पाने का तरीका जानने के लिए, आइडेंटिटी सोर्स बनाना लेख पढ़ें. अगर आपने Google Workspace डायरेक्ट्री को Active Directory के साथ सिंक किया है, तो GCDS के साथ आइडेंटिटी सोर्स सेट अप करें.
आम तौर पर, आपके संगठन का Google Workspace एडमिन, आपको ये क्रेडेंशियल दे सकता है.
पक्का करें कि Windows खाते के पास ज़रूरी अनुमतियां हों, जैसा कि नीचे दिए गए सेक्शन में बताया गया है.
Microsoft Windows खाते की ज़रूरी अनुमतियां
कनेक्टर जिस Microsoft Windows खाते में चल रहा है उसके पास, ये कार्रवाइयां करने के लिए ज़रूरी अनुमतियां होनी चाहिए:
- फ़ोल्डर के कॉन्टेंट की सूची बनाना
- दस्तावेज़ों का कॉन्टेंट पढ़ना
- फ़ाइलों और फ़ोल्डर के एट्रिब्यूट पढ़ना
- फ़ाइलों और फ़ोल्डर, दोनों के लिए पढ़ने की अनुमतियां (एसीएल)
- बेसिक एट्रिब्यूट की अनुमतियां लिखना
इनमें से किसी एक ग्रुप की सदस्यता होने पर, Windows खाते को कनेक्टर के लिए ज़रूरी अनुमतियां मिल जाती हैं:
- एडमिन
- जानकार उपयोगकर्ता
- प्रिंट ऑपरेटर
- सर्वर ऑपरेटर
पहला चरण. Google Cloud Search फ़ाइल सिस्टम कनेक्टर इंस्टॉल करना
GitHub से कनेक्टर रिपॉज़िटरी पाएं और उसे बनाएं.
Windows सर्वर पर git का इस्तेमाल करने के लिए:
डेटा स्टोर करने की जगह को क्लोन करें:
> git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git > cd windows-filesystems-connector
कनेक्टर का वह वर्शन देखें जिसका इस्तेमाल करना है:
> git checkout tags/v1-0.0.3
सीधे GitHub से डाउनलोड करने के लिए:
- https://github.com/google-cloudsearch/windows-filesystems-connector पर जाएं.
- क्लोन करें या डाउनलोड करें ज़िप डाउनलोड करें पर क्लिक करें.
- पैकेज को अनज़िप करें.
- नई डायरेक्ट्री पर जाएं:
> cd windows-filesystems-connector
कनेक्टर बनाएं. अगर ज़रूरी हो, तो Apache Maven इंस्टॉल करें.
> mvn package
कनेक्टर बनाते समय जांच को छोड़ने के लिए,
mvn package
के बजायmvn package -DskipTests
चलाएं.कनेक्टर की ZIP फ़ाइल को अपनी लोकल इंस्टॉलेशन डायरेक्ट्री में कॉपी करें:
> cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir > cd installation-dir > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3
दूसरा चरण. कनेक्टर कॉन्फ़िगरेशन फ़ाइल बनाना
कनेक्टर इंस्टॉल करने वाली डायरेक्ट्री में, एक फ़ाइल बनाएं और उसका नाम
connector-config.properties
रखें.फ़ाइल के कॉन्टेंट में पैरामीटर को की/वैल्यू पेयर के तौर पर जोड़ें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
### File system connector configuration ### # Required parameters for Cloud Search data source and identity source access api.serviceAccountPrivateKeyFile=/path/to/file.json api.sourceId=0123456789abcde api.identitySourceId=a1b1c1234567 # Required parameters for file system access fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link # Optional parameters for file system monitoring traverse.abortAfterExceptions=500 fs.monitorForUpdates = true fs.preserveLastAccessTime = IF_ALLOWED
हर पैरामीटर के बारे में ज़्यादा जानकारी के लिए, कॉन्फ़िगरेशन पैरामीटर रेफ़रंस पर जाएं.
(ज़रूरी नहीं) ज़रूरत के मुताबिक, कनेक्टर के अन्य पैरामीटर कॉन्फ़िगर करें. ज़्यादा जानकारी के लिए, Google के दिए गए कनेक्टर पैरामीटर पर जाएं.
तीसरा चरण. प्रवेश करना सक्षम करें
- उस डायरेक्ट्री में
logs
नाम का फ़ोल्डर बनाएं जिसमें कनेक्टर का बाइनरी है. उस डायरेक्ट्री में
logging.properties
नाम की ASCII या UTF-8 फ़ाइल बनाएं जिसमें कनेक्टर बाइनरी है. इसके बाद, उसमें यह कॉन्टेंट जोड़ें:handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler # Default log level .level = WARNING com.google.enterprise.cloudsearch.level = INFO com.google.enterprise.cloudsearch.fs.level = INFO # 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-fs.%g.log java.util.logging.FileHandler.limit=10485760 java.util.logging.FileHandler.count=10 java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
चरण 4. (ज़रूरी नहीं) मीडिया टाइप कॉन्फ़िगर करना
डिफ़ॉल्ट रूप से, कनेक्टर हर फ़ाइल के लिए मीडिया टाइप का पता लगाने की कोशिश करता है. इसके लिए, वह JDK की ओर से उपलब्ध कराए गए मीडिया टाइप का पता लगाने की सुविधा का इस्तेमाल करता है. Microsoft Windows पर, JDK फ़ाइलों के मीडिया टाइप तय करने के लिए, Windows रजिस्ट्री पर निर्भर करता है. रजिस्ट्री एंट्री मौजूद न होने पर, कुछ फ़ाइलों के लिए मीडिया टाइप शून्य हो सकता है.
अगर ज़रूरी हो, तो कोई ऐसा मीडिया टाइप तय किया जा सकता है जो किसी भी मौजूदा बाइंडिंग को ओवरराइट कर दे या किसी भी मीडिया टाइप को शून्य न होने दे.
- कनेक्टर डायरेक्ट्री में,
mime-type.properties
नाम से एक ऐसी फ़ाइल बनाएं जिसे Latin-1 में एन्क्रिप्ट किया गया हो. फ़ाइल एक्सटेंशन और उनसे जुड़े मीडिया टाइप डालें, जैसा कि यहां दिए गए उदाहरणों में बताया गया है:
xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf
पांचवां चरण: फ़ाइल सिस्टम कनेक्टर चलाना
फ़ाइल सिस्टम कनेक्टर को इंस्टॉल और कॉन्फ़िगर करने के बाद, उसे होस्ट मशीन पर लॉन्च करने के लिए, नीचे दिए गए उदाहरण जैसा कोई निर्देश चलाएं:
> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]
अगर कॉन्फ़िगरेशन फ़ाइल का पाथ डिफ़ॉल्ट से अलग है, तो उसे बताएं. यह connector-config.properties
नाम वाली बाइनरी की डायरेक्ट्री में होनी चाहिए.
कॉन्फ़िगरेशन पैरामीटर का रेफ़रंस
डेटा स्रोत की ऐक्सेस
सेटिंग | पैरामीटर |
डेटा सोर्स का आईडी | api.sourceId=1234567890abcdef
ज़रूरी है. Google Workspace एडमिन ने सेट अप किया गया Google Cloud Search सोर्स आईडी. |
सेवा खाते की निजी कुंजी फ़ाइल का पाथ | api.serviceAccountPrivateKeyFile=./PrivateKey.json
ज़रूरी है. Google Cloud Search फ़ाइल सिस्टम कनेक्टर को ऐक्सेस करने के लिए, Google Cloud Search सेवा खाते की कुंजी फ़ाइल. |
पहचान सोर्स आईडी | api.identitySourceId=x0987654321
ज़रूरी है. GCDS का इस्तेमाल करके, Active Directory की पहचानों को सिंक करने के लिए, Google Workspace एडमिन ने जो Cloud Search आइडेंटिटी सोर्स आईडी सेट अप किया है. |
फ़ाइल सिस्टम का ऐक्सेस
सेटिंग | पैरामीटर |
सोर्स फ़ाइल सिस्टम | fs.src=path1[,path2, ...]
ज़रूरी है. सोर्स फ़ाइल सिस्टम को एक या एक से ज़्यादा UNC सोर्स के तौर पर बताएं. इन्हें |
पाथ सेपरेटर कैरेक्टर
सेटिंग | पैरामीटर |
पाथ सेपरेटर कैरेक्टर | fs.src.separator=separator-character
डिफ़ॉल्ट सेपरेटर ";" होता है. अगर आपके सोर्स पाथ में सेमीकोलन हैं, तो कोई दूसरा डेलिमिटर सेट किया जा सकता है. जैसे, कॉमा (","). यह डेलिमिटर, आपके पाथ में मौजूद कैरेक्टर से मेल नहीं खाना चाहिए और प्रॉपर्टी फ़ाइल के सिंटैक्स के लिए रिज़र्व नहीं होना चाहिए. अगर |
कनेक्टर का व्यवहार
सेटिंग | पैरामीटर |
Windows डोमेन | fs.supportedDomain=domain
GCDS के साथ सेट अप किए गए उपयोगकर्ताओं को, Cloud Search की मदद से दस्तावेज़ ऐक्सेस करने की अनुमति देने के लिए ज़रूरी है. Active Directory के एक NetBIOS डोमेन नेम के तौर पर बताएं. |
एसीएल में खाते शामिल करना | fs.supportedAccounts=account-1[, account-2,...]
एसीएल में शामिल करने के लिए, खातों की सूची. इसमें वे खाते भी शामिल किए जा सकते हैं जो पहले से मौजूद हैं. डिफ़ॉल्ट वैल्यू |
पहले से मौजूद खातों को एसीएल से बाहर रखना | fs.builtinGroupPrefix=prefix
पहले से मौजूद खातों का प्रीफ़िक्स बताएं. इस प्रीफ़िक्स से शुरू होने वाले खाते को, पहले से मौजूद खाता माना जाता है और इसे एसीएल से बाहर रखा जाएगा. डिफ़ॉल्ट वैल्यू |
छिपी हुई फ़ाइलों और फ़ोल्डर को इंडेक्स करने की अनुमति देना | fs.crawlHiddenFiles=boolean
कनेक्टर को छिपी हुई फ़ाइलों और फ़ोल्डर को क्रॉल करने की अनुमति देने के लिए, |
क्रॉल किए गए फ़ोल्डर की लिस्टिंग और डीएफ़एस नेमस्पेस की गिनती को इंडेक्स करने की अनुमति देना | fs.indexFolders=boolean
|
फ़ाइल सिस्टम में हुए बदलावों पर नज़र रखने की सुविधा चालू करना | fs.monitorForUpdates=boolean
|
डायरेक्ट्री के कैश मेमोरी का ज़्यादा से ज़्यादा साइज़ सेट करना | fs.directoryCacheSize=number-of-entries
डायरेक्ट्री कैश मेमोरी का ज़्यादा से ज़्यादा साइज़. कनेक्टर, छिपे हुए फ़ोल्डर की पहचान करने के लिए कैश मेमोरी का इस्तेमाल करता है, ताकि छिपे हुए फ़ोल्डर में मौजूद फ़ाइलों और फ़ोल्डर को इंडेक्स न किया जा सके. डिफ़ॉल्ट रूप से, 50,000 एंट्री होती हैं. आम तौर पर, इनमें 10 से 15 मेगाबाइट रैम का इस्तेमाल होता है. |
टाइमस्टैंप को सेव करना और क्रॉल कंट्रोल करना
सेटिंग | पैरामीटर |
आखिरी बार ऐक्सेस करने का टाइमस्टैंप सेव करना | fs.preserveLastAccessTime=value
जब कनेक्टर फ़ाइलों और फ़ोल्डर को क्रॉल करता है, तो वह फ़ाइलों और फ़ोल्डर को आखिरी बार ऐक्सेस करने के टाइमस्टैंप को क्रॉल के समय पर बदल सकता है. आखिरी बार ऐक्सेस करने का समय सेव न होने पर, हो सकता है कि कनेक्टर के ऐक्सेस करने की वजह से, बैकअप और संग्रह सिस्टम, सही फ़ाइलों और फ़ोल्डर को सेकंडरी स्टोरेज में न ले जाएं. डिफ़ॉल्ट रूप से, कनेक्टर पिछली बार फ़ाइल को ऐक्सेस करने का समय ( जितनी तरह के साइटमैप हो सकते हैं उनकी जानकारी यहां दी गई है:
|
सिर्फ़ ऐसी फ़ाइलों को क्रॉल करें जिन्हें किसी खास तारीख के बाद ऐक्सेस किया गया था | fs.lastAccessedDate=YYYY-MM-DD
कॉन्टेंट को सिर्फ़ तब क्रॉल करें, जब उसे आखिरी बार उस तारीख के बाद ऐक्सेस किया गया हो. डिफ़ॉल्ट वैल्यू तारीख को ISO8601 तारीख फ़ॉर्मैट में डालें: YYYY-MM-DD. उदाहरण के लिए, अगर वैल्यू 01-01-2010 है, तो कनेक्टर सिर्फ़ उस कॉन्टेंट को क्रॉल करेगा जिसे 2010 की शुरुआत के बाद ऐक्सेस किया गया था.
|
सिर्फ़ उन फ़ाइलों को क्रॉल करें जिन्हें पिछले कुछ दिनों में ऐक्सेस किया गया था | fs.lastAccessedDays=number-of-days
कॉन्टेंट को सिर्फ़ तब क्रॉल करें, जब उसे आखिरी बार ऐक्सेस करने की तारीख, मौजूदा तारीख से कुछ दिन पहले की हो. डिफ़ॉल्ट वैल्यू इस प्रॉपर्टी का इस्तेमाल करके, पहले से इंडेक्स किए गए उस कॉन्टेंट की समयसीमा खत्म करें जिसे कुछ समय से ऐक्सेस नहीं किया गया है. उदाहरण के लिए, अगर कॉन्टेंट को पिछले साल ऐक्सेस किया गया था, तो उसे सिर्फ़ 365 दिनों के लिए क्रॉल करने के लिए सेट करें.
|
सिर्फ़ उन फ़ाइलों को क्रॉल करें जिनमें किसी खास तारीख के बाद बदलाव किया गया है | fs.lastModifiedDate=YYYY-MM-DD
कॉन्टेंट को सिर्फ़ तब क्रॉल करें, जब उसे बदलने का आखिरी समय तय की गई तारीख के बाद का हो. डिफ़ॉल्ट वैल्यू तारीख को ISO8601 तारीख फ़ॉर्मैट में डालें: YYYY-MM-DD. उदाहरण के लिए, अगर वैल्यू 01-01-2010 है, तो कनेक्टर सिर्फ़ उस कॉन्टेंट को क्रॉल करेगा जिसे 2010 की शुरुआत के बाद बदला गया था.
|
सिर्फ़ उन फ़ाइलों को क्रॉल करें जिनमें पिछले कुछ दिनों में बदलाव किया गया है | fs.lastModifiedDays=number-of-days
कॉन्टेंट को सिर्फ़ तब क्रॉल करें, जब उसमें आखिरी बदलाव करने की तारीख, मौजूदा तारीख से कुछ दिन पहले की हो. डिफ़ॉल्ट वैल्यू इस प्रॉपर्टी का इस्तेमाल करके, पहले से इंडेक्स किए गए उस कॉन्टेंट की समयसीमा खत्म करें जिसमें कुछ समय से बदलाव नहीं किया गया है. उदाहरण के लिए, अगर कॉन्टेंट में पिछले साल बदलाव किया गया था, तो उसे क्रॉल करने के लिए 365 पर सेट करें.
|
फ़ाइल शेयर करने के ऐक्सेस कंट्रोल को स्किप करना
डिफ़ॉल्ट रूप से, कनेक्टर, इंडेक्सिंग एपीआई को ऐक्सेस कंट्रोल लिस्ट (एसीएल) भेजते समय, ऐक्सेस कंट्रोल की पूरी सुरक्षा करता है. इसमें, फ़ाइल शेयर करने की सुविधा पर मौजूद एसीएल भी शामिल हैं. हालांकि, कुछ कॉन्फ़िगरेशन में हो सकता है कि कनेक्टर के पास शेयर का एसीएल पढ़ने के लिए ज़रूरी अनुमतियां न हों. ऐसे मामलों में, कनेक्टर खोज के नतीजों में उस फ़ाइल शेयर पर सेव की गई कोई भी फ़ाइल नहीं दिखाता.
कनेक्टर को शेयर करने के लिए ACL को अनदेखा करने के लिए सेट किया जा सकता है, ताकि खोज के नतीजों में कॉन्टेंट हमेशा दिखे. इस मामले में, इंडेक्स करने वाले एपीआई को शेयर करने के लिए, असल ACL के बजाय पूरी अनुमति वाला ACL मिलता है.
सेटिंग | पैरामीटर |
फ़ाइल शेयर करने के ऐक्सेस कंट्रोल को स्किप करना | fs.skipShareAccessControl=boolean
शेयर करने के लिए एसीएल लागू करने के लिए, |