Bu kılavuz, Google Cloud Search CSV (virgülle ayrılmış değerler) için hazırlanmıştır. bağlayıcı yöneticileri, yani indirme işleminden sorumlu herkes, izleme, yapılandırma, çalıştırma ve izleme.
Bu kılavuz, CSV ile ilgili temel görevleri gerçekleştirme talimatlarını içerir bağlayıcı dağıtımı:
- Google Cloud Search CSV bağlayıcı yazılımını indirin
- Bağlayıcıyı belirli bir CSV veri kaynağıyla kullanılacak şekilde yapılandırma
- Bağlayıcıyı dağıtma ve çalıştırma
Bu belgedeki kavramları anlamak için proje yönetimi CSV dosyaları ve Erişim Kontrol Listeleri (EKL'ler) hakkında temel bilgiler edinin.
Google Cloud Search CSV bağlayıcısına genel bakış
Cloud Search CSV bağlayıcısı, virgülle ayrılmış değerler (CSV) metinleriyle çalışır. dosyası olarak kaydedebilirsiniz. CSV dosyaları tablo verilerini depolar ve dosyanın her satırı bir veridir kullanabilirsiniz.
Google Cloud Search'ün CSV Bağlayıcı, CSV dosyasından tek tek satırları ayıklar ve bunları Cloud Search'ün Dizine Ekleme API'si aracılığıyla Cloud Search'e dizine ekler. Bir kez başarıyla dizine eklendiğinden, CSV dosyalarındaki ayrı ayrı satırlar Cloud Search'ün istemcileri veya Cloud Search'ün Query API'si. CSV bağlayıcısı da kontrol edebilirsiniz. arama sonuçlarındaki içeriğe erişimi için EKL'ler.
Google Cloud Search CSV bağlayıcısı, Linux veya Windows'a yüklenebilir. Şu tarihten önce: Google Cloud Search CSV bağlayıcısını dağıttığınızdan emin olmak için aşağıdaki gerekli bileşenlerden yararlanın:
- Google Cloud Search CSV dosyasını çalıştıran bir bilgisayarda yüklü Java JRE 1.8 konnektör
Google Workspace ve Google Cloud Google Cloud Search ve veri kaynağı:
- Google Workspace özel anahtarı (hizmet hesabı kimliğini içerir)
- Google Workspace veri kaynağı kimliği
Genellikle, Google Workspace yöneticisi tarafından sizin için hazırlar.
Dağıtım adımları
Google Cloud Search CSV bağlayıcısını dağıtmak için şu adımları uygulayın:
- Google Cloud Search CSV bağlayıcı yazılımını yükleme
- CSV bağlayıcı yapılandırmasını belirtme
- Google Cloud Search veri kaynağına erişimi yapılandırma
- CSV dosyası erişimini yapılandırma
- Dizine eklenecek sütun adlarını, benzersiz anahtar sütunlarını ve tarih ve saat sütunlarını belirtme
- Tıklanabilir arama sonucu URL'lerinde kullanılacak sütunları belirtme
- Meta veri bilgilerini, sütun biçimlerini belirtme
- Veri geçişini planlama
- Erişim Kontrol Listesi (EKL) seçeneklerini belirtme
1. SDK'yı yükleyin
SDK'yı yerel Maven deponuza yükleyin.
GitHub'dan SDK deposunu klonlayın.
$ git clone https://github.com/google-cloudsearch/connector-sdk.git $ cd connector-sdk/csv
İstediğiniz SDK sürümünü kontrol edin:
$ git checkout tags/v1-0.0.3
Bağlayıcıyı oluşturun:
$ mvn package
Bağlayıcı zip dosyasını yerel yükleme dizininize kopyalayın:
$ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip $ cd google-cloudsearch-csv-connector-v1-0.0.3
2. CSV bağlayıcı yapılandırmasını belirtme
Bağlayıcı yöneticisi olarak, CSV bağlayıcısının davranışını ve Bağlayıcının yapılandırma dosyasındaki parametreleri tanımlayan özellikleri kullanın. Yapılandırılabilir parametreler şunlardır:
- Bir veri kaynağına erişim
- CSV dosyasının konumu
- CSV sütunu tanımları
- Benzersiz bir kimliği tanımlayan sütunlar
- Geçiş seçenekleri
- Veri erişimini kısıtlamak için EKL seçenekleri
Bağlayıcının bir CSV dosyasına düzgün şekilde erişmesi ve alakalı içeriği dizine eklemesi için önce yapılandırma dosyasını oluşturmalısınız.
Bir yapılandırma dosyası oluşturmak için:
- İstediğiniz metin düzenleyiciyi açın ve yapılandırma dosyasını adlandırın.
. key=value çiftlerini dosya içeriklerine aşağıda açıklandığı şekilde ekleyin bölümlerini kontrol edin. - Yapılandırma dosyasını kaydedin ve adlandırın.
. Google, yapılandırma dosyasını adlandırmanızı önerirconnector-config.properties
(Bu nedenle ek komut satırı parametresi yok) çalıştırması gerekir.
Yapılandırma dosyası yolunu komut satırında belirtebildiğinizden, standart dosya konumu gerekli değildir. Ancak yapılandırma dosyasını izlemeyi ve çalıştırmayı basitleştirmek için bağlayıcıyla aynı dizine bağlayıcı.
Bağlayıcının yapılandırma dosyanızı tanıdığından emin olmak için
komut satırını kullanın. Aksi halde, bağlayıcı
Yerel dizininizde connector-config.properties
varsayılan dosya adıdır. Aşağıdaki dizinde yapılandırma yolunu belirtme hakkında bilgi için:
Cloud Search CSV bağlayıcısını çalıştırma başlıklı makaleyi inceleyin.
3. Google Cloud Search veri kaynağına erişimi yapılandırma
Her yapılandırma dosyasının belirtmesi gereken ilk parametreler aşağıda gösterildiği gibi, Cloud Search veri kaynağına erişmek için gereklidir tablosunu oluşturalım. Genellikle, veri kaynağı kimliği, hizmet hesabı kimliği ve API'yi yapılandırmak için hizmet hesabının özel anahtar dosyasının yolunu bağlayıcının Cloud Search'e erişmesini sağlar. Veri kaynağı oluşturmak için gereken adımlar aşağıda açıklandığı gibi Üçüncü taraf veri kaynaklarını yönetme
Yer | Parametre |
Veri kaynağı kimliği | api.sourceId=1234567890abcdef
Zorunlu. Google Workspace yöneticisi tarafından ayarlanan Google Cloud Search kaynak kimliği (Üçüncü taraf veri kaynaklarını yönetme başlıklı makalede açıklandığı gibi). |
Hizmet hesabı özel anahtar dosyasının yolu | api.serviceAccountPrivateKeyFile=./PrivateKey.json
Zorunlu. Google Cloud Search CSV bağlayıcı erişilebilirliği için Google Cloud Search hizmet hesabı anahtar dosyası. |
Kimlik kaynağı kimliği | api.identitySourceId=x0987654321
Harici kullanıcılar ve gruplar kullanılıyorsa gereklidir. Google Workspace yöneticisi tarafından oluşturulan Google Cloud Search kimlik kaynağı kimliği. |
4. CSV dosyası parametrelerini yapılandırma
Bağlayıcının bir CSV dosyasını çekip bu dosyadan dosyanın yolunu belirlemeniz gerekir. Dosya biçimini ve dosya kodlama türünü de belirtebilirsiniz. Yapılandırma dosyasında CSV dosyası özelliklerini belirtmek için aşağıdaki parametreleri ekleyin.
Yer | Parametre |
CSV dosyasının yolu | csv.filePath=./movie_content.csv
Zorunlu. Erişilecek ve dizine eklenecek içeriği çıkaracak CSV dosyasının yolu. |
Dosya biçimi | csv.format=DEFAULT
Dosyanın biçimi. Olası değerler Apache Commons CSV CSVFormat sınıfındandır. Biçim değerleri şunları içerir: |
Dosya biçimi değiştiricisi | csv.format.withMethod=value
Cloud Search'ün dosyayı işleme biçiminde yapılan bir değişiklik. Olası yöntemler, Apache Commons CSV CSVFormat sınıfındandır ve tek bir karakter, dize veya boole değeri içeren yöntemleri içerir. Örneğin, bir noktalı virgülü ayırıcı olarak belirtmek için |
Dosya kodlama türü | csv.fileEncoding=UTF-8
Cloud Search dosyayı okurken kullanılacak Java karakter kümesi. Belirtilmemişse Cloud Search, platformun varsayılan karakter kümesini kullanır. |
5. Dizine eklenecek sütun adlarını ve benzersiz anahtar sütunlarını belirtin
Bağlayıcının CSV dosyalarına erişmesi ve bunları dizine eklemesi için sütun tanımları hakkında bilgi edinin. Öğe sütun adlarını belirten parametreleri içermiyor için varsayılan değerler kullanılır.
Yer | Parametre |
Dizine eklenecek sütunlar | csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...
CSV dosyasından dizine eklenecek sütun adları. |
Benzersiz anahtar sütunları | csv.uniqueKeyColumns=movieId
Her kaydın benzersiz kimliğini oluşturmak için değerleri kullanılacak olan CSV sütunları. Belirtilmezse CSV kaydının karması, benzersiz anahtar olarak kullanılmalıdır. Varsayılan değer, kaydın karma kodudur. |
6. Tıklanabilir arama sonucu URL'lerinde kullanılacak sütunları belirtin
Kullanıcılar Google Cloud Search kullanarak arama yaptığında arama sonuçları göstererek yanıt verir her sonuç için tıklanabilir URL'ler içeren bir sayfadır. Bu özelliği etkinleştirmek için aşağıdaki tabloda gösterilen parametreyi yapılandırma dosyasına eklemelidir.
Yer | Parametre |
Arama sonucu URL biçimi | url.format=https://mymoviesite.com/movies/{0}
Zorunlu. CSV içeriği için görüntüleme URL'si oluşturma biçimi. |
Arama sonuçları URL parametreleri. | url.columns=movieId
Zorunlu. Kaydın görünüm URL'sini oluşturmak için değerleri kullanılacak olan CSV sütun adları. |
Çıkış yapılacak arama sonuçları URL parametreleri | url.columnsToEscape=movieId
İsteğe bağlı. Geçerli bir görüntüleme URL'si oluşturmak için değerleri URL çıkışlı olacak şekilde CSV sütun adları. |
7. Meta veri bilgilerini, sütun biçimlerini, arama kalitesini belirtin
Yapılandırma dosyasına aşağıdakileri belirten parametreler ekleyebilirsiniz:
Meta Veri Yapılandırma Parametreleri
Meta Veri Yapılandırma Parametreleri, doldurma için kullanılan CSV sütunlarını açıklar öğe meta verileridir. Yapılandırma dosyası bu parametreleri içermiyorsa varsayılan değerler kullanılır. Bu parametreler aşağıdaki tabloda gösterilmiştir.
Ayar | Parametre |
Başlık | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
Doküman başlığına karşılık gelen değeri içeren meta veri özelliği. Varsayılan değer boş bir dizedir. |
URL | itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
Arama sonuçları için doküman URL'sinin değerini içeren meta veri özelliği. |
Oluşturma zaman damgası | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Doküman oluşturma zaman damgası değerini içeren meta veri özelliği. |
Son değiştirilme zamanı | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Dokümanın son değiştirme zaman damgasının değerini içeren meta veri özelliği. |
Belge dili | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
Dizine eklenen dokümanların içerik dili. |
Şema nesnesi türü | itemMetadata.objectType.field=type itemMetadata.objectType.defaultValue=movie
schema'ya dokunun. Bu özellik belirtilmezse bağlayıcı hiçbir yapılandırılmış veriyi dizine eklemez. |
Tarih ve saat biçimleri
Tarih ve saat biçimleri, meta veri özelliklerinde beklenen biçimleri belirtir. Yapılandırma dosyası bu parametreyi içermiyorsa varsayılan değerler kullanılır. Aşağıdaki tabloda bu parametre gösterilmektedir.
Ayar | Parametre |
Ek tarih ve saat biçimleri | structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Ek java.time.format.DateTimeFormatter kalıplarının noktalı virgül ile ayrılmış listesi. Kalıplar, meta veri veya şemadaki herhangi bir tarih veya tarih-saat alanına ait dize değerlerini ayrıştırırken kullanılır. Varsayılan değer boş bir listedir ancak RFC 3339 ve RFC 1123 biçimleri her zaman desteklenir. |
Sütun biçimleri
Sütun biçimleri, arama yapılabilir içeriği. Yapılandırma dosyası bunları içermiyorsa parametresi için varsayılan değerler kullanılır. Bu parametreler aşağıdaki tabloda gösterilmiştir.
Yer | Parametre |
Üstbilgiyi atla | csv.skipHeaderRecord=true
Boole. CSV dosyasındaki başlık kaydını (ilk satır) yoksayın. |
Birden çok değer içeren sütunlar | csv.multiValueColumns=genre,actors
CSV dosyasında birden fazla değere sahip sütun adları. Varsayılan değer boş bir dizedir. |
Birden çok değerli sütunlar için sınırlayıcı | csv.multiValue.genre=;
Birden çok değerli sütunlara ilişkin ayırıcı. Varsayılan ayırıcı virgüldür. |
Arama kalitesi
Cloud Search CSV bağlayıcısı, veri alanları için otomatik HTML biçimlendirmesi sağlar. Bağlayıcınız, bağlayıcı yürütmenin başında veri alanlarını tanımlar. Ardından, yüklemeden önce her bir veri kaydını biçimlendirmek için bir içerik şablonu kullanır. Cloud Search'e taşıyın.
İçerik şablonu, arama için her alan değerinin önemini tanımlar. Başlık alanı zorunludur ve en yüksek öncelik olarak tanımlanır. Şunları yapabilirsiniz: Diğer tüm içerik alanları için arama kalitesi önem düzeylerini belirleyin: yüksek, orta veya düşük. Belirli bir kategoride tanımlanmamış herhangi bir içerik alanı varsayılan olarak düşük önceliklidir. Bu parametreler aşağıdaki tabloda gösterilmiştir.
Yer | Parametre |
İçerik başlığı | contentTemplate.csv.title=movieTitle
İçerik başlığı, en yüksek arama kalitesi alanıdır. |
İçerik alanları için yüksek arama kalitesi | contentTemplate.csv.quality.high=actors
Arama kalitesi değerinin yüksek olduğu içerik alanları. Varsayılan değer boş bir dizedir. |
İçerik alanları için düşük arama kalitesi | contentTemplate.csv.quality.low=genre
İçerik alanlarına düşük arama kalitesi değeri verilir. Varsayılan değer boş bir dizedir. |
İçerik alanları için arama kalitesi orta | contentTemplate.csv.quality.medium=description
İçerik alanlarına orta seviyede arama kalitesi değeri verilir. Varsayılan değer boş bir dizedir. |
Belirtilmemiş içerik alanları | contentTemplate.csv.unmappedColumnsMode=IGNORE
Bağlayıcının belirtilmemiş içerik alanlarını nasıl işlediği. Geçerli değerler şunlardır:
|
8. Veri geçişi planlayın
Geçiş, bağlayıcının, verilerdeki içerikleri keşfetmesini sağlayan işlemidir. kaynağı, bu örnekte bir CSV dosyası. CSV bağlayıcısı çalışırken bir CSV dosyasının satırlarını kırın ve Dizine Ekleme yoluyla her bir satırı Cloud Search'e eklemek için API'ye gidin.
Tam geçiş, dosyadaki tüm sütunları dizine ekler. Artımlı geçiş yalnızca önceki geçişten sonra eklenen veya değiştirilen sütunları dizine ekler. CSV bağlayıcısı yalnızca tam geçişler gerçekleştirir. Artımlı geçişler yapmaz.
Planlama parametreleri, bağlayıcının ayarlayabilirsiniz. Yapılandırma dosyası planlama parametreleri içermiyorsa varsayılan değerler kullanılır. Bu parametreler aşağıdaki tabloda gösterilmiştir.
Yer | Parametre |
Bir aradan sonra tam geçiş | schedule.traversalIntervalSecs=7200
Bağlayıcı, belirtilen bir aralıktan sonra tam geçiş yapar. Geçişler arasındaki aralığı saniye cinsinden belirtin. Varsayılan değer 86400 (bir gündeki saniye sayısı) şeklindedir. |
Bağlayıcı başlatıldığında tam geçiş | schedule.performTraversalOnStart=false
Bağlayıcı, ilk aralığın süresinin dolmasını beklemek yerine bağlayıcı başlatılırken tam bir geçiş gerçekleştirir. Varsayılan değer true (doğru) değeridir. |
9. Erişim Kontrol Listesi (EKL) seçeneklerini belirtme
Google Cloud Search CSV bağlayıcısı, kontrol etmek için EKL'ler üzerinden izinleri destekler Arama sonuçlarındaki CSV dosyasının içeriğine erişim. Birden fazla EKL var dizine eklenen kayıtlara kullanıcı erişimini korumanızı sağlayan seçenekler mevcuttur.
Deponuz her belgeyle ilişkili bağımsız EKL bilgileri içeriyorsa Cloud Search'te belge erişimini denetlemek için tüm EKL bilgilerini yükleme Eğer deponuz ACL bilgisi kısmen sağlıyor veya hiç sağlamıyor; varsayılan SDK'nın bağlayıcı.
Bağlayıcı, yapılandırma dosyasında etkinleştirilen varsayılan EKL'lere dayanır. Alıcı:
varsayılan EKL'leri etkinleştir, defaultAcl.mode
ayarını none
ve
defaultAcl.*
ile yapılandır
Yer | Parametre |
EKL modu | defaultAcl.mode=fallback
Zorunlu. CSV bağlayıcısı Varsayılan EKL işlevini temel alır. Bağlayıcı yalnızca yedek modu destekler. |
Varsayılan EKL Adı | defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1
İsteğe bağlı. Varsayılan EKL'leri ayarlamak için bağlayıcı tarafından kullanılan sanal kapsayıcı adının geçersiz kılınmasına olanak tanır. Varsayılan değer "DEFAULT_ACL_VIRTUAL_CONTAINER" şeklindedir. Birden fazla bağlayıcı aynı veri kaynağındaki içeriği dizine ekliyorsa bu değeri geçersiz kılmak isteyebilirsiniz. |
Varsayılan herkese açık EKL | defaultAcl.public=true
Deponun tamamı için kullanılan varsayılan EKL, genel alan erişimi olarak ayarlanmıştır. Varsayılan değer false. |
Ortak EKL grup okuyucuları | defaultAcl.readers.groups=google:group1, group2 |
Yaygın EKL okuyucuları | defaultAcl.readers.users=user1, user2, google:user3 |
ACL'de reddedilen yaygın grup okuyucuları | defaultAcl.denied.groups=group3 |
EKL tarafından reddedilen yaygın okuyucular | defaultAcl.denied.users=user4, user5 |
Tüm alan erişimi | Dizine eklenen her kaydın alandaki tüm kullanıcılar tarafından erişilebilir olmasını sağlamak için aşağıdaki iki seçeneği de değerlerle ayarlayın:
|
Ortak tanımlı EKL | Veri deposunun her kaydı için bir EKL belirtmek üzere aşağıdaki parametre değerlerinin tümünü ayarlayın:
|
Şema Tanımı
Cloud Search, yapılandırılmış ve yapılandırılmamış içeriklerin dizine eklenmesine ve sunulmasına olanak tanır. Verilerinizde yapılandırılmış veri sorgularını desteklemek için veri kaynağınız için Schema'yı ayarlayın.
Tanımlandıktan sonra CSV Bağlayıcı, tanımlı şemayı dizine ekleme istekleri oluşturmak için kullanabilir. Açıklayıcı bir örnek sağlamak için, filmler hakkında bilgi edinin.
Girilen CSV dosyasında aşağıdaki içeriğin olduğunu varsayalım.
- movieId
- movieTitle
- açıklama
- yıl
- releaseDate
- aktörler (virgülle (,) ayrılmış birden fazla değer)
- tür (birden fazla değer)
- değerlendirmeler
Yukarıdaki veri yapısına göre, istediğiniz CSV dosyasındaki verileri dizine ekleyin.
{
"objectDefinitions": [
{
"name": "movie",
"propertyDefinitions": [
{
"name": "actors",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"textPropertyOptions": {
"operatorOptions": {
"operatorName": "actor"
}
}
},
{
"name": "releaseDate",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": false,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "released",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
},
{
"name": "movieTitle",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": false,
"textPropertyOptions": {
"retrievalImportance": {
"importance": "HIGHEST"
},
"operatorOptions": {
"operatorName": "title"
}
}
},
{
"name": "genre",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"enumPropertyOptions": {
"operatorOptions": {
"operatorName": "genre"
},
"possibleValues": [
{
"stringValue": "Action"
},
{
"stringValue": "Documentary"
},
{
"stringValue": "Drama"
},
{
"stringValue": "Crime"
},
{
"stringValue": "Sci-fi"
}
]
}
},
{
"name": "userRating",
"isReturnable": true,
"isRepeatable": false,
"isFacetable": true,
"integerPropertyOptions": {
"orderedRanking": "ASCENDING",
"maximumValue": "10",
"operatorOptions": {
"operatorName": "score",
"lessThanOperatorName": "scorebelow",
"greaterThanOperatorName": "scoreabove"
}
}
}
]
}
]
}
Örnek yapılandırma dosyası
Aşağıdaki örnek yapılandırma dosyası, key=value
parametrelerini gösterir
çalışma biçimini kullanın.
# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json
# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle
# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE
#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true
Her parametrenin ayrıntılı açıklamaları için bkz. Yapılandırma parametreleri bir referans noktası olarak kabul edilir.
Cloud Search CSV bağlayıcısını çalıştırma
Bağlayıcıyı komut satırından çalıştırmak için aşağıdaki komutu yazın:
$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config
Varsayılan olarak, bağlayıcı günlükleri standart çıkışta mevcuttur. Dosyalara giriş yapabilirsiniz
logging.properties
belirterek.