Azure Haritalar Arama hizmeti için en iyi yöntemler
Makale
Azure Haritalar Arama hizmeti, geliştiricilerin adreslerde, yerlerde, işletme listelerinde ada veya kategoriye ve diğer coğrafi bilgilere göre arama yapmalarına yardımcı olacak çeşitli özellikler sunan API'yi içerir. Örneğin, Arama Belirsiz özelliği kullanıcıların bir adres veya İlgi Çekici Nokta (POI) araması yapmasına olanak tanır.
Bu makalede, Azure Haritalar Arama hizmeti'dan veri çağırırken ses uygulamalarının nasıl uygulanacağı açıklanmaktadır. Nasıl yapılacağını öğrenin:
Postman veya Bruno gibi herhangi bir API geliştirme ortamını kullanarak bu makalede gösterilen HTTP isteği örneklerini çalıştırabilir veya REST çağrıları oluşturabilirsiniz.
Adresleri coğrafi kodlamaya yönelik en iyi yöntemler
Azure Haritalar Arama hizmeti kullanarak tam veya kısmi bir adres aradığınızda, API arama sorgunuzdan anahtar sözcükleri okur. Ardından adresin boylam ve enlem koordinatlarını döndürür. Bu işleme coğrafi kodlama adı verilir.
Bir ülkede/bölgede coğrafi kodlama özelliği, yol verilerinin kullanılabilirliğine ve coğrafi kodlama hizmetinin duyarlığına bağlıdır. Ülkeye veya bölgeye göre Azure Haritalar coğrafi kodlama özellikleri hakkında daha fazla bilgi için bkz. Coğrafi kodlama kapsamı.
Arama sonuçlarını sınırlama
Azure Haritalar Arama API'si, arama sonuçlarını uygun şekilde sınırlamanıza yardımcı olabilir. Kullanıcılarınıza ilgili verileri görüntüleyebilmek için sonuçları sınırlarsınız.
Not
Arama API'leri, bu makalede anlatılanlardan daha fazla parametreyi destekler.
Coğrafi olarak belirlenmiş arama sonuçları
Kullanıcınızın ilgili alanına geobias sonuçları eklemek için her zaman mümkün olduğunca çok konum ayrıntısı ekleyin. Bazı giriş türleri belirterek arama sonuçlarını kısıtlamak isteyebilirsiniz:
parametresini countrySet ayarlayın. Örneğin olarak ayarlayabilirsiniz US,FR. Api varsayılan olarak tüm dünyada arama yaparak gereksiz sonuçlar döndürebilir. Sorgunuzda parametre yoksa countrySet , arama yanlış sonuçlar döndürebilir. Örneğin, Bellevue adlı bir şehir için yapılan bir arama, her iki ülke/bölge de Bellevue adlı bir şehir içerdiğinden ABD ve Fransa'dan sonuçlar döndürür.
sınırlayıcı kutuyu ayarlamak için ve topleft parametrelerini kullanabilirsinizbtmRight. Bu parametreler, aramayı haritadaki belirli bir alanla kısıtlar.
Sonuçların ilgi alanını etkilemek için ve lon koordinat parametrelerini tanımlayınlat. radius Arama alanının yarıçapını ayarlamak için parametresini kullanın.
Benzer arama parametreleri
Arama sorgusu için kullanıcı girişlerinizi bilmediğinizde Arama Benzerini kullanmanızı öneririz. Örneğin, kullanıcının girişi bir adres veya alışveriş merkezi gibi bir İlgi Noktası (POI) türü olabilir. API, POI arama ve coğrafi kodlamayı kurallı tek satırlı aramada birleştirir:
ve maxFuzzyLevel parametreleri, minFuzzyLevel sorgu parametreleri kullanıcının istediği bilgilerle tam olarak eşleşmediğinde bile ilgili eşleşmeleri döndürmeye yardımcı olur. Performansı en üst düzeye çıkarmak ve olağan dışı sonuçları azaltmak için arama sorgularını varsayılan ve minFuzzyLevel=1maxFuzzyLevel=2olarak ayarlayın.
Örneğin, maxFuzzyLevel parametre 2 olarak ayarlandığında, arama terimi restrant restaurant ile eşleştirilir. Gerektiğinde varsayılan benzer düzeyleri geçersiz kılabilirsiniz.
Sonuç türlerinin idxSet tam kümesini önceliklendirmek için parametresini kullanın. Tam bir sonuç kümesinin önceliğini belirlemek için virgülle ayrılmış dizin listesi gönderebilirsiniz. Listenizde, madde siparişi önemli değildir. Azure Haritalar aşağıdaki dizinleri destekler:
Addr - Adres aralıkları: Caddenin başından ve sonundan ilişkilendirilmiş adres noktaları. Bu noktalar adres aralıkları olarak temsil edilir.
Geo - Coğrafyalar: Arazinin idari bölümleri. Coğrafya, örneğin bir ülke/bölge, eyalet veya şehir olabilir.
PAD - Nokta adresleri: Sokak adı ve numarası içeren adresler. Nokta adresleri bir dizinde bulunabilir. Örnek olarak Soquel Dr 2501 verilmiştir. Nokta adresi, adresler için kullanılabilir en yüksek doğruluk düzeyini sağlar.
POI - İlgi çekici noktalar: Haritada dikkat edilmesi gereken veya ilgi çekici olabilecek noktalar. Arama Adresi , İÇ'leri döndürmez.
Str - Sokaklar: Haritada sokaklar.
XStr - Çapraz sokaklar veya kavşaklar: Kavşaklar veya iki caddenin kesiştiği yerler.
Kullanım örnekleri
idxSet=POI - Yalnızca POI'leri arayın.
idxSet=PAD,Addr - Yalnızca arama adresleri. PAD nokta adresini ve Addr adres aralığını gösterir.
Coğrafi varlık türü için ters coğrafi kod ve filtre uygulama
Arama Adresi TersIni kullanarak ters coğrafi kod araması yaptığınızda, hizmet yönetim alanları için çokgenler döndürebilir. Örneğin, bir şehir için bölge çokgenini getirmek isteyebilirsiniz. Aramayı belirli coğrafya varlık türlerine daraltmak için isteklerinize parametresini entityType ekleyin.
Sonuçta elde edilen yanıt, coğrafya kimliğini ve eşleşen varlık türünü içerir. Birden fazla varlık sağlarsanız uç nokta kullanılabilir en küçük varlığı döndürür. Coğrafyanın geometrisini Search Polygon hizmeti aracılığıyla almak için döndürülen geometri kimliğini kullanabilirsiniz.
Döndürülen arama sonuçlarının language dilini ayarlamak için parametresini kullanın. İstek dili ayarlamazsa, varsayılan olarak Arama hizmeti ülke veya bölgedeki en yaygın dili kullanır. Belirtilen dilde kullanılabilir veri olmadığında varsayılan dil kullanılır.
Kısmi sorgular için daha fazla eşleşme bulmak için parametresini typeahead olarak trueayarlayın. Bu sorgu kısmi giriş olarak yorumlanır ve arama tahmin moduna girer. parametresini typeaheadtrueolarak ayarlamazsanız, hizmet tüm ilgili bilgilerin geçirildiğini varsayar.
Aşağıdaki örnek sorguda, Arama Adresi hizmeti Microsoft için sorgulanır. typeahead Burada parametresi olarak trueayarlanır. Yanıt, arama hizmetinin sorguyu kısmi sorgu olarak yorumladığını gösterir. Yanıt, otomatik olarak önerilen sorgunun sonuçlarını içerir.
Çapraz sokak adreslerini bulmak için URI'yi adresteki özel karakterleri işleyecek şekilde kodlamanız gerekir. Şu adres örneğini düşünün: 1st Avenue & Union Street, Seattle. Burada, isteği göndermeden önce ve karakterini (&) kodlayın.
Karakter verilerini bir URI'de kodlamanızı öneririz. URI'de, yüzde işareti (%) ve karakterlerin UTF-8 koduna karşılık gelen iki karakterli onaltılık değer kullanarak tüm karakterleri kodlarsınız.
PoI aramasında, POI sonuçlarını ada göre isteyebilirsiniz. Örneğin, bir işletmeyi ada göre arayabilirsiniz.
Uygulamanızın kapsama ihtiyacı olan ülkeleri/bölgeleri belirtmek için parametresini kullanmanızı countrySet kesinlikle öneririz. Varsayılan davranış, tüm dünyada arama yapmaktır. Bu geniş arama gereksiz sonuçlar döndürebilir ve arama uzun sürebilir.
Marka araması
Sonuçların ve yanıttaki bilgilerin ilgi düzeyini artırmak için POI arama yanıtı marka bilgilerini içerir. Yanıtı ayrıştırmak için bu bilgileri daha fazla kullanabilirsiniz.
bir istekte, marka adlarının virgülle ayrılmış bir listesini gönderebilirsiniz. parametresini ayarlayarak sonuçları belirli markalara kısıtlamak brandSet için listeyi kullanın. Listenizde madde siparişi önemli değildir. Birden çok marka listesi sağladığınızda, döndürülen sonuçlar listelerinizin en az birine ait olmalıdır.
Marka aramasını keşfetmek için poi kategorisi arama isteğinde bulunalım. Aşağıdaki örnekte, Redmond, Washington'daki Microsoft kampüsü yakınlarındaki benzin istasyonlarına bakacağız. Yanıt, döndürülen her poi için marka bilgilerini gösterir.
Arama POI API'sini kullanarak, resmi kodlarını kullanarak havalimanlarını arayabilirsiniz. Örneğin, SEA kullanarak Seattle-Tacoma Uluslararası Havaalanı'nı bulabilirsiniz:
Belirli bir konumla ilgili POI sonuçlarını almak için Yakını Ara'yı kullanmayı deneyebilirsiniz. Uç nokta yalnızca POI sonuçlarını döndürür. Arama sorgusu parametresinde yer almaz.
Sonuçları sınırlamak için yarıçapı ayarlamanızı öneririz.
Yanıtları anlama
Şimdi Azure Haritalar Arama hizmeti adres arama isteğinde bulunarak Seattle'da bir adres bulalım. Aşağıdaki istek URL'sinde, ABD'deki adresi aramak için parametresini US olarak ayarladıkcountrySet.
Nokta Adresi: Açık adı ve numarası olan belirli bir adrese sahip olan haritadaki noktalar. Nokta Adresi, adresler için en yüksek doğruluk düzeyini sağlar.
Adres Aralığı: Caddenin başından ve sonundan ilişkilendirilmiş adres noktaları aralığı.
Coğrafya: Ülke/bölge, eyalet veya şehir gibi bir arazinin yönetim bölmelerini temsil eden harita üzerindeki alanlar.
POI: Dikkat edilmesi gereken ve ilgi çekici olabilecek bir haritadaki noktalar.
Sokak: Haritada sokaklar. Adresler, adresi içeren caddenin enlem ve boylam koordinatlarına çözümlenir. Ev numarası işlenmeyebilir.
Çapraz: Kesişimler. Çapraz sokaklar, iki caddenin kesiştiği kavşakları temsil eder.
Response
Şimdi yanıt yapısına bakalım. Aşağıdaki yanıtta, sonuç nesnelerinin türleri farklıdır. Dikkatli bakarsanız üç tür sonuç nesnesi görürsünüz:
Nokta Adresi
Sokak
Çapraz Cadde
Adres aramasının İÇ'leri döndürmediğini fark edin.
Her yanıt nesnesinin Score parametresi, eşleşen puanın aynı yanıttaki diğer nesnelerin puanlarıyla ilişkisini gösterir. Yanıt nesnesi parametreleri hakkında daha fazla bilgi için bkz . Arama Adresi Alma.
Geometri'nin yanıt türü, ve idaltındaki geometry nesnede dataSources döndürülen geometri kimliğini içerebilir. Örneğin, Geometri verilerini GeoJSON biçiminde istemek için Çokgen Ara hizmetini kullanabilirsiniz. Bu biçimi kullanarak, bir varlık kümesi için şehir veya havaalanı ana hattı alabilirsiniz. Daha sonra bu sınır verilerini kullanarak geometri içinde bir coğrafi bölge veya Arama PO'ları ayarlayabilirsiniz.
Arama Adresi veya Arama Benzeri yanıtları, ve idaltındaki geometry nesnede dataSources döndürülen geometri kimliğini içerebilir:
"dataSources": {
"geometry": {
"id": "00005557-4100-3c00-0000-000059690938" // The geometry ID is returned in the dataSources object under "geometry" and "id".
}
}
Mevcut arama çözümlerinizi geliştirmek için Azure AI Search'ün daha gelişmiş özelliklerini kullanın. Belgelerdeki derecelendirmeyi nasıl değiştireceğinizi, kuruluşunuz için en önemli terimleri nasıl artıracağınızı ve birden çok dilde aramaya nasıl izin vereceğinizi öğrenin.