Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Daha önce önizleme aşamasında olan Azure Bilişsel Arama için Visual Studio Code uzantısı genel kullanıma sunulmadı ve 1 Kasım 2022 itibarıyla kullanımdan kaldırıldı.
Uzantı artık Azure Market'te kullanılamasa da, kod https://github.com/microsoft/vscode-azurecognitivesearchadresinde açık kaynaklıdır. Aracı kendi kullanımınız için kopyalayabilir ve değiştirebilirsiniz.
Uzantıyı kullanıyorsanız, bu makalede Azure Bilişsel Arama REST API'lerini kullanarak REST API isteklerini etkileşimli olarak formüle etme adımları açıklanmaktadır.
Önkoşullar
Uzantıyı kullanmak için aşağıdaki hizmetler ve araçlar gereklidir
Uzantıyı yükleme
Aboneliğinize bağlanma
Visual Studio COde'ı başlatın.
Azure'da oturum aç... öğesini seçin ve Azure Hesabınızda oturum açın.
Aboneliklerinizi görmeniz gerekir. Aşağıdaki ekran görüntüsünde abonelik adı "Visual Studio Enterprise" şeklindedir ve "azsearch-service" adlı bir arama hizmeti içerir.
Görüntülenen abonelikleri sınırlamak için komut paletini (Ctrl+Shift+P veya Cmd+Shift+P) açın ve Azure'ı veya Abonelikleri Seç'i arayın. Azure hesabınıza oturum açmak ve kapatmak için kullanabileceğiniz komutlar da vardır.
Arama hizmetini genişlettiğiniz zaman, her Bilişsel Arama öğesi için ağaç öğelerini görürsünüz: dizinler, veri kaynakları, dizin oluşturucular, beceri kümeleri, eş anlamlı eşlemeler ve diğer adlar.
Bu ağaç öğeleri, arama hizmetinizdeki tüm kaynakları gösterecek şekilde genişletilebilir.
1 - Dizin oluşturma
Dizin oluşturmak için Dizin Oluştur REST API'sini kullanın.
VS Code uzantısıyla yalnızca isteğin gövdesi hakkında endişelenmeniz gerekir. Bu hızlı başlangıçta örnek bir dizin tanımı ve ilgili belgeler sağlıyoruz.
Dizin tanımı
Aşağıdaki dizin tanımı, kurgusal oteller için örnek bir şemadır.
fields koleksiyonu, arama dizinindeki belgelerin yapısını tanımlar. Her alanın bir veri türü ve alanın nasıl kullanılabileceğini belirleyen bir dizi ek özniteliği vardır.
{
"name": "hotels-quickstart",
"fields": [
{
"name": "HotelId",
"type": "Edm.String",
"key": true,
"filterable": true
},
{
"name": "HotelName",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"sortable": true,
"facetable": false
},
{
"name": "Description",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"sortable": false,
"facetable": false,
"analyzer": "en.lucene"
},
{
"name": "Description_fr",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"sortable": false,
"facetable": false,
"analyzer": "fr.lucene"
},
{
"name": "Category",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Tags",
"type": "Collection(Edm.String)",
"searchable": true,
"filterable": true,
"sortable": false,
"facetable": true
},
{
"name": "ParkingIncluded",
"type": "Edm.Boolean",
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "LastRenovationDate",
"type": "Edm.DateTimeOffset",
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Rating",
"type": "Edm.Double",
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Address",
"type": "Edm.ComplexType",
"fields": [
{
"name": "StreetAddress",
"type": "Edm.String",
"filterable": false,
"sortable": false,
"facetable": false,
"searchable": true
},
{
"name": "City",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "StateProvince",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "PostalCode",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Country",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
}
]
}
],
"suggesters": [
{
"name": "sg",
"searchMode": "analyzingInfixMatching",
"sourceFields": [
"HotelName"
]
}
]
}
Yeni dizin oluşturmak için Dizinler'e sağ tıklayın ve ardından Yeni dizin oluştur'u seçin.
indexes-new-28c972f661.azsindex'a benzer bir isme sahip bir düzenleyici açılır.
Yukarıdaki dizin tanımını pencereye yapıştırın. Dosyayı kaydedin ve dizini güncelleştirmek isteyip istemediğiniz sorulduğunda Karşıya Yükle'yi seçin. Bu adım dizini oluşturur ve soldaki ağaç görünümüne ekler.
Dizin tanımınızla ilgili bir sorun varsa aşağıdakine benzer bir hata iletisi görmeniz gerekir.
Hata oluşursa sorunu düzeltin ve dosyayı yeniden kaydedin.
2 - Belgeleri yükleme
REST API'de dizin oluşturma ve dizini doldurma ayrı adımlardır. Azure Bilişsel Arama'da dizin, aranabilir tüm verileri içerir. Bu hızlı başlangıçta veriler JSON belgeleri olarak sağlanır. Bu görev için Belge Ekle, Güncelleştir veya Sil REST API kullanılır.
Dizine yeni belgeler eklemek için:
Oluşturduğunuz
hotels-quickstartdizinini genişletin. Belgeler'e sağ tıklayın ve yeni belge oluştur'u seçin.
Dizininizin şemasını çıkarmış bir JSON düzenleyicisi görmeniz gerekir.
Aşağıdaki JSON dosyasını yapıştırın ve dosyayı kaydedin. Değişikliklerinizi onaylamanızı isteyen bir istem. Değişiklikleri kaydetmek için Karşıya Yükle'yi seçin.
{ "HotelId": "1", "HotelName": "Secret Point Motel", "Description": "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.", "Category": "Boutique", "Tags": [ "pool", "air conditioning", "concierge" ], "ParkingIncluded": false, "LastRenovationDate": "1970-01-18T00:00:00Z", "Rating": 3.60, "Address": { "StreetAddress": "677 5th Ave", "City": "New York", "StateProvince": "NY", "PostalCode": "10022", "Country": "USA" } }Kalan üç belge için bu işlemi yineleyin:
Belge 2:
{ "HotelId": "2", "HotelName": "Twin Dome Motel", "Description": "The hotel is situated in a nineteenth century plaza, which has been expanded and renovated to the highest architectural standards to create a modern, functional and first-class hotel in which art and unique historical elements coexist with the most modern comforts.", "Category": "Boutique", "Tags": [ "pool", "free wifi", "concierge" ], "ParkingIncluded": false, "LastRenovationDate": "1979-02-18T00:00:00Z", "Rating": 3.60, "Address": { "StreetAddress": "140 University Town Center Dr", "City": "Sarasota", "StateProvince": "FL", "PostalCode": "34243", "Country": "USA" } }Belge 3:
{ "HotelId": "3", "HotelName": "Triple Landscape Hotel", "Description": "The Hotel stands out for its gastronomic excellence under the management of William Dough, who advises on and oversees all of the Hotel’s restaurant services.", "Category": "Resort and Spa", "Tags": [ "air conditioning", "bar", "continental breakfast" ], "ParkingIncluded": true, "LastRenovationDate": "2015-09-20T00:00:00Z", "Rating": 4.80, "Address": { "StreetAddress": "3393 Peachtree Rd", "City": "Atlanta", "StateProvince": "GA", "PostalCode": "30326", "Country": "USA" } }Belge 4:
{ "HotelId": "4", "HotelName": "Sublime Cliff Hotel", "Description": "Sublime Cliff Hotel is located in the heart of the historic center of Sublime in an extremely vibrant and lively area within short walking distance to the sites and landmarks of the city and is surrounded by the extraordinary beauty of churches, buildings, shops and monuments. Sublime Cliff is part of a lovingly restored 1800 palace.", "Category": "Boutique", "Tags": [ "concierge", "view", "24-hour front desk service" ], "ParkingIncluded": true, "LastRenovationDate": "1960-02-06T00:00:00Z", "Rating": 4.60, "Address": { "StreetAddress": "7400 San Pedro Ave", "City": "San Antonio", "StateProvince": "TX", "PostalCode": "78216", "Country": "USA" } }
Bu noktada, belgeler bölümünde dört belgenin de kullanılabilir olduğunu görmeniz gerekir.
3 - Dizinde arama
Artık dizin içerik içerdiğine göre, Arama Belgeleri REST API'sini kullanarak sorgular düzenleyebilirsiniz:
Aramak istediğiniz dizine sağ tıklayın ve Ara'yı seçin. Bu adım,
sandbox-b946dcda48.azsbenzer bir ada sahip bir düzenleyici açar.
Basit bir sorgu otomatik olarak doldurulur. Sorguyu göndermek için Ctrl+Alt+R veya Cmd+Alt+R tuşlarına basın. Sonuçların soldaki pencerede belirdiğini görürsünüz.
Örnek sorgular
Söz dizimine yönelik bir his elde etmek için birkaç sorgu örneğini daha deneyin. Aşağıda deneyebileceğiniz dört sorgu daha vardır. Aynı düzenleyiciye birden çok sorgu ekleyebilirsiniz. Ctrl+Alt+R veya Cmd+Alt+R tuşlarına bastığınızda, imleciniz hangi sorgunun gönderileceğini belirler.
İlk sorguda, yalnızca belirli alanlarda boutique ve select arıyoruz. Gereksiz verilerin geri çekilmesi sorgularınıza gecikme süresi kazandırabileceğinden, yalnızca select ihtiyacınız olan alanları kullanmak en iyi yöntemdir. Sorgu ayrıca arama sonuçlarıyla birlikte toplam sonuç sayısını döndürmek için $count=true ayarlar.
// Query example 1 - Search `boutique` with select and return count
search=boutique&$count=true&$select=HotelId,HotelName,Rating,Category
Sonraki sorguda, arama terimini wifi belirtir ve ayrıca yalnızca durumun değerine eşit olduğu sonuçları döndürmek için 'FL'bir filtre ekleriz. Sonuçlar ayrıca otelin Rating göre sıralanır.
// Query example 2 - Search with filter, orderBy, select, and count
search=wifi&$filter=Address/StateProvince eq 'FL'&$select=HotelId,HotelName,Rating,Address/StateProvince&$orderby=Rating desc
Ardından, arama parametresi kullanılarak tek bir aranabilir alanla searchFields sınırlıdır. Bu, yalnızca belirli alanlardaki eşleşmelerle ilgilendiğinizi biliyorsanız sorgunuzu daha verimli hale getirmek için harika bir seçenektir.
// Query example 3 - Limit searchFields
search=sublime cliff&$select=HotelId,HotelName,Rating&searchFields=HotelName
Sorguya dahil etmek için sık kullanılan bir diğer seçenek de 'dir facets. Facets, kullanıcıların hangi değerleri kolayca filtreleyebileceklerini görmelerini sağlamak için uygulamanızda filtreler oluşturmanıza olanak tanır.
// Query example 4 - Take the top two results, and show only HotelName and Category in the results
search=*&$select=HotelId,HotelName,Rating&searchFields=HotelName&facet=Category
Portalda dizini açma
Arama hizmetinizi portalda görüntülemek isterseniz, arama hizmetinin adına sağ tıklayın ve Portalda Aç'ı seçin.
Kaynakları temizleme
Kendi aboneliğinizde çalışırken, oluşturduğunuz kaynaklara hala ihtiyacınız olup olmadığını belirlemek, projenin sonunda iyi bir fikirdir. Çalışır durumda kalan kaynaklar size pahalıya mal olabilir. Kaynakları tek tek silebilir veya kaynak grubunu silip kaynak kümesinin tamamını silebilirsiniz.
Sol gezinti bölmesindeki Tüm kaynaklar veya Kaynak grupları bağlantısını kullanarak kaynakları portalda bulabilir ve yönetebilirsiniz.
Ücretsiz bir hizmet kullanıyorsanız üç dizin, dizin oluşturucu ve veri kaynağıyla sınırlı olduğunuzu unutmayın. Sınırın altında kalmak için portaldaki tek tek öğeleri silebilirsiniz.
Sonraki adımlar
Temel görevlerin nasıl gerçekleştirildiğini öğrendiğinize göre, dizin oluşturucular veya dizine içerik dönüştürmeleri ekleyen bir zenginleştirme işlem hattı ayarlama gibi daha gelişmiş özellikler için ek REST API çağrılarıyla ilerleyebilirsiniz. Sonraki adımınız için aşağıdaki bağlantıyı öneririz: