E-ticaret için akıllı bir ürün arama motoruIntelligent product search engine for e-commerce

Bu örnek senaryoda nasıl ayrılmış arama hizmetini kullanarak önemli ölçüde arama sonuçlarının ilgi düzeyi, e-ticaret müşterileriniz için artırabilir gösterilmektedir.This example scenario shows how using a dedicated search service can dramatically increase the relevance of search results for your e-commerce customers.

Arama, birincil mekanizma, müşteriler bulmak ve sonuçta arama sonuçları ile ilgili önemli hale ürünleri satın hedefi arama sorgusu ve, uçtan uca arama deneyimi isabet vurgulama, çok küçük hacimler sağlayarak neredeyse anında sonuçları, dil analizi, coğrafi konum eşleşen, filtreleme, modelleme, otomatik tamamlama, arama eşleşme, vb.Search is the primary mechanism through which customers find and ultimately purchase products, making it essential that search results are relevant to the intent of the search query, and that the end-to-end search experience matches that of search giants by providing near-instant results, linguistic analysis, geo-location matching, filtering, faceting, autocomplete, hit highlighting, etc.

Tipik bir e-ticaret web uygulaması, SQL Server gibi ilişkisel bir veritabanı veya Azure SQL veritabanında depolanan ürün verilerle hayal edin.Imagine a typical e-commerce web application with product data stored in a relational database like SQL Server or Azure SQL Database. Arama sorguları, veritabanını kullanarak içinde genellikle işlenir LIKE sorguları veya [tam metin araması] docs-sql-fts özellikleri.Search queries are often handled inside the database using LIKE queries or Full-Text Search features. Kullanarak [Azure Search] docs-search bunun yerine, sorgu işleme, çalışır durumdaki veritabanından boşaltmak ve sağlayan uygulama sabit özelliklerden yararlanarak kolayca başlayabilir, Müşteriler en iyi olası arama ile karşılaşırsınız.By using Azure Search instead, you free up your operational database from the query processing and you can easily start taking advantage of those hard-to-implement features that provide your customers with the best possible search experience. Ayrıca, Azure Search bir platform olarak hizmet (PaaS) bileşeni olduğu için altyapıyı yönetme ya da bir arama uzmanı olma konusunda endişelenmeniz gerekmez.Also, because Azure Search is a platform as a service (PaaS) component, you don't have to worry about managing infrastructure or becoming a search expert.

İlgili kullanım durumlarınıRelevant use cases

Diğer ilgili kullanım durumlarını içerir:Other relevant use cases include:

  • Emlak listeleri veya kullanıcının fiziksel konuma yakın depoları bulma.Finding real estate listings or stores near the user's physical location.
  • Makaleleri bir haber sitede aramak veya daha fazla bilgi için daha yüksek bir öncelik ile Spor sonuçları elde etmek için arayan son bilgileri.Searching for articles in a news site or looking for sports results, with a higher preference for more recent information.
  • Büyük depolar için arama yaparak belge odaklı kuruluş ilkesi oluşturucular ve noterleri gibi.Searching through large repositories for document-centric organizations like policy makers and notaries.

Sonuç olarak, herhangi arama işlevini çeşit olan uygulama ayrılmış arama hizmetinden avantajını.Ultimately, any application that has some form of search functionality can benefit from a dedicated search service.

MimariArchitecture

E-ticaret için bir akıllı ürün arama motoru katılan Azure bileşenlerini mimarisine genel bakış

Bu senaryo, müşterilere bir ürün kataloğu aracılığıyla arayabileceğiniz bir e-ticaret çözümü kapsar.This scenario covers an e-commerce solution where customers can search through a product catalog.

  1. Müşteriler gidin e-ticaret web uygulaması herhangi bir CİHAZDAN.Customers navigate to the e-commerce web application from any device.
  2. Ürün Kataloğu tutulur bir Azure SQL veritabanı işlem tabanlı işleme için.The product catalog is maintained in an Azure SQL Database for transactional processing.
  3. Azure Search kullanan bir arama dizin oluşturucusu otomatik olarak kendi arama dizininizi tümleşik değişiklik izleme aracılığıyla güncel tutmak için.Azure Search uses a search indexer to automatically keep its search index up-to-date through integrated change tracking.
  4. Müşteri arama sorguları için Boşaltılan Azure Search sorgu işler ve en uygun sonuçları döndüren bir hizmet.Customer's search queries are offloaded to the Azure Search service, which processes the query and returns the most relevant results.
  5. Bir web tabanlı arama deneyimine alternatif olarak, müşteriler de kullanabilirsiniz bir damıtarak konuşma bağlamında kullanılabilen bot sosyal medya veya doğrudan dijital yardımcıları ürünleri ve artımlı olarak aramak için arama sorgusu ve sonuçları daraltın.As an alternative to a web-based search experience, customers can also use a conversational bot in social media or straight from digital assistants to search for products and incrementally refine their search query and results.
  6. İsteğe bağlı olarak, Bilişsel arama özelliği, yapay zeka bile daha akıllı işleme uygulamak için kullanılabilir.Optionally, the Cognitive Search feature can be used to apply artificial intelligence for even smarter processing.

BileşenlerComponents

  • [Uygulama Hizmetleri - Web Apps] docs-webapps ana web uygulamaları altyapıyı yönetmek zorunda kalmadan, otomatik ölçeklendirme ve yüksek kullanılabilirlik sağlar.App Services - Web Apps hosts web applications allowing autoscale and high availability without having to manage infrastructure.
  • [SQL veritabanı] docs-sql-database bir genel amaçlı ilişkisel veritabanı yönetilen ilişkisel veri, JSON, uzamsal ve XML gibi yapıları destekleyen bir Microsoft Azure hizmetidir.SQL Database is a general-purpose relational database-managed service in Microsoft Azure that supports structures such as relational data, JSON, spatial, and XML.
  • [Azure Search'ü] docs-search web, mobil ve kurumsal uygulamalardaki özel ve heterojen içerikler üzerinde zengin arama deneyimi sağlayan bir hizmet olarak arama bulut çözümüdür.Azure Search is a search-as-a-service cloud solution that provides a rich search experience over private, heterogenous content in web, mobile, and enterprise applications.
  • [Bot hizmeti] docs-botservice derleme, test edin, dağıtın ve akıllı botlar yönetmek için araçlar sağlar.Bot Service provides tools to build, test, deploy, and manage intelligent bots.
  • [Bilişsel Hizmetler] docs-cognitive görmek için akıllı algoritmalar kullanmanızı sağlar dinleyin, konuşurken, anlamak ve kullanıcı yorumlayabilen doğal iletişim yöntemlerini.Cognitive Services lets you use intelligent algorithms to see, hear, speak, understand, and interpret your user needs through natural methods of communication.

AlternatifleriAlternatives

  • Kullanabileceğinizi veritabanında arama özellikleri, örneğin, SQL Server tam metin araması ancak işlem deponuza aracılığıyla da işler (işleme gücü gereksinimini artan) sorgular ve arama özellikleri veritabanı içinde daha sınırlıdır.You could use in-database search capabilities, for example, through SQL Server full-text search, but then your transactional store also processes queries (increasing the need for processing power) and the search capabilities inside the database are more limited.
  • Açık kaynak barındırabilir [Apache Lucene] apache-lucene (bağlı olan Azure Search oluşturulmuştur) bulunan Azure sanal makinelerinde, ancak geri yönetme olarak-hizmet altyapı (Iaas) için olan ve avantaj yok Azure Search, Lucene üzerine sağlayan birçok özellikleri.You could host the open-source Apache Lucene (on which Azure Search is built upon) on Azure Virtual Machines, but then you are back to managing Infrastructure-as-a-Service (IaaS) and don't benefit from the many features that Azure Search provides on top of Lucene.
  • Dağıtımı düşünebilirsiniz [esnek arama] elastic-marketplace Azure Marketi'nden olduğu bir üçüncü taraf satıcı alternatif ve özellikli arama üründen, ancak aynı zamanda bu durumda bir Iaas çalıştırıyorsanız iş yükü.You could also consider deploying Elastic Search from the Azure Marketplace, which is an alternative and capable search product from a third-party vendor, but also in this case you are running an IaaS workload.

Veri katmanı için diğer seçenekler şunlardır:Other options for the data tier include:

  • Cosmos DB -Microsoft'un Global olarak dağıtılmış çok modelli veritabanı.Cosmos DB - Microsoft's globally distributed, multi-model database. Costmos DB Cassandra, Mongo DB gibi diğer veri modelleri çalıştırmak için bir platform sağlar graf verilerini veya basit bir tablo depolama.Costmos DB provides a platform to run other data models such as Mongo DB, Cassandra, Graph data, or simple table storage. Azure arama, Cosmos DB'den verileri doğrudan dizin de destekler.Azure Search also supports indexing the data from Cosmos DB directly.

Dikkat edilmesi gerekenlerConsiderations

ÖlçeklenebilirlikScalability

[Fiyatlandırma katmanı] search-tier Azure Search hizmeti kullanılabilir özellikleri belirlemek değil ancak yönetebilmek için kullanılan [kapasite planlaması] search-capacityen fazla depolama alanına sahip olursunuz ve kaç bölümleri tanımlar ve çoğaltmaları sağlayabilirsiniz.The pricing tier of the Azure Search service doesn't determine the available features but is used mainly for capacity planning as it defines the maximum storage you get and how many partitions and replicas you can provision. Bölümler ise daha fazla belge dizini oluşturmak ve daha yüksek yazma aktarım hızı elde etmenize izin çoğaltmaları daha fazla sorgu başına saniye (QPS) ve yüksek kullanılabilirlik sağlar.Partitions allow you to index more documents and get higher write throughputs, whereas replicas provide more Queries-Per-Second (QPS) and High Availability.

Bölümleri ve çoğaltmalarını sayısını dinamik olarak değiştirebilirsiniz, ancak hedef iş yükünüz için doğru katman dikkatli bir şekilde düşünmelisiniz fiyatlandırma katmanını değiştirmek mümkün değildir.You can dynamically change the number of partitions and replicas but it's not possible to change the pricing tier, so you should carefully consider the right tier for your target workload. Katman yine de değiştirmeniz gerekiyorsa, yan yana yeni bir hizmet sağlanması ve dizinlerinizi var. yeniden yüklemeniz gerekir, bu noktada, uygulamalarınızın yeni hizmetine işaret edebilir.If you need to change the tier anyway, you will need to provision a new service side by side and reload your indexes there, at which point you can point your applications at the new service.

KullanılabilirlikAvailability

Azure arama sağlayan bir [% 99,9 oranında kullanılabilirlik SLA'sı] search-sla için okur (diğer bir deyişle, sorgulama) en az iki çoğaltma varsa ve için güncelleştirmeleri(yani, arama dizinleri güncelleştirme) en az üç kopyaya varsa.Azure Search provides a 99.9% availability SLA for reads (that is, querying) if you have at least two replicas, and for updates (that is, updating the search indexes) if you have at least three replicas. Müşterileriniz için mümkün olmasını istiyorsanız, bu nedenle, en az iki çoğaltma sağlamanız gerekir arama güvenilir bir şekilde ve gerçek, 3 değişiklikler dizine yüksek kullanılabilirlik işlemlerini da kabul .Therefore you should provision at least two replicas if you want your customers to be able to search reliably, and 3 if actual changes to the index should also be considered high availability operations.

Dizin (örneğin, veri türlerini değiştirme, silme veya alanları yeniden adlandırma) kapalı kalma süresi olmadan bozucu değişiklik gerek yoksa, dizinin yeniden oluşturulması gerekecektir.If there is a need to make breaking changes to the index without downtime (for example, changing data types, deleting or renaming fields), the index will need to be rebuilt. Benzer şekilde, hizmet katmanının değiştirilmesi, bu yeni bir dizin oluşturma, verilerle yeniden ve uygulamalarınızı yeni dizini işaret edecek şekilde güncelleştirerek anlamına gelir.Similar to changing service tier, this means creating a new index, repopulating it with the data, and then updating your applications to point at the new index.

GüvenlikSecurity

Azure arama, çoğu ile uyumlu güvenlik ve veri gizliliği standartlarını, hangi çoğu sektörlerde kullanılacak mümkün kılar.Azure Search is compliant with many security and data privacy standards, which makes it possible to be used in most industries.

Hizmete erişim güvenliğini sağlamak için Azure Search kullanan iki tür anahtarları: yönetici anahtarlarına, gerçekleştirin izin herhangi hizmetinde görev ve sorgu anahtarlarına, kümelenmesine yalnızca sorgulama gibi salt okunur işlemler için kullanılır.For securing access to the service, Azure Search uses two types of keys: admin keys, which allow you to perform any task against the service, and query keys, which can only be used for read-only operations like querying. Genellikle, arama gerçekleştiren uygulama (özellikle arama bir web tarayıcısında çalışan betik gibi bir son kullanıcı CİHAZDAN gerçekleştirilir), yalnızca bir sorgu anahtarı ve bir yönetici anahtarı ile yapılandırılmış olması gerekir böylece dizin güncelleştirmez.Typically, the application that performs the search does not update the index, so it should only be configured with a query key and not an admin key (especially if the search is performed from an end-user device like script running in a web browser).

Aramanın ilgi düzeyiniSearch Relevance

E-ticaret uygulamanızın nasıl başarılı olduğundan müşterileriniz için arama sonuçlarının ilgi düzeyi üzerinde büyük ölçüde bağlıdır.How successful your e-commerce application is depends largely on the relevance of the search results to your customers. Kullanıcı bir araştırmaya göre en uygun sonuçları sağlamak için arama hizmetinize dikkatli bir şekilde ayarlama veya gibi yerleşik özelliğe bağlı [arama trafiği analizi] search-analysis müşterinizin arama desenlerinin anlamak için verilere dayalı kararları olanak sağlar.Carefully tuning your search service to provide optimal results based on user research, or relying on built-in features such as search traffic analysis to understand your customer's search patterns allows you to make decisions based on data.

Arama hizmetinizi ayarlamak için tipik yolları içerir:Typical ways to tune your search service include:

  • Kullanarak [Puanlama profilleri] search-scoring arama sonuçlarının ilgi düzeyi hangi alanın nasıl yeni veri, kullanıcıya coğrafi uzaklıktan sorguyu eşleşmedi üzerinde göre örneğin, etkilemek için...Using scoring profiles to influence the relevance of search results, for example, based on which field matched the query, how recent the data is, the geographical distance to the user, ...
  • Kullanarak [Microsoft sağlanan dil Çözümleyicileri] search-languages daha iyi sorguyu yorumlamasını bir Gelişmiş doğal dil işlemeyi (NLP) yığını kullananUsing Microsoft provided language analyzers that use an advanced Natural Language Processing (NLP) stack to better interpret queries
  • Kullanarak [özel çözümleyiciler] search-analyzers özellikle dil dışı üzerinde arama yapmak istiyorsanız, ürünlerinizi doğru bulundu emin olmak için bir ürün markası ve modeli gibi bilgileri temel.Using custom analyzers to ensure your products are found correctly, especially if you want to search on non-language based information like a product's make and model.

Senaryo dağıtmaDeploy the scenario

Daha eksiksiz bir e-ticaret sürümü bu senaryoyu dağıtmak için bu izleyebilirsiniz [adım adım öğretici] end-to-end-walkthrough uygulama satın basit bir bilet çalışan bir .NET örnek uygulaması sağlar.To deploy a more complete e-commerce version of this scenario, you can follow this step-by-step tutorial that provides a .NET sample application that runs a simple ticket purchasing application. Ayrıca, Azure Search içerir ve ele alınan özelliklerin çoğunu kullanır.It also includes Azure Search and uses many of the features discussed. Ayrıca, çoğu Azure kaynaklarının dağıtımını otomatikleştirmek için Resource Manager şablonu yoktur.Additionally, there is a Resource Manager template to automate the deployment of most of the Azure resources.

FiyatlandırmaPricing

Bu senaryo çalıştırmanın maliyeti keşfetmek için yukarıda belirtilen tüm hizmetlerin maliyet hesaplayıcı önceden yapılandırılmış.To explore the cost of running this scenario, all the services mentioned above are pre-configured in the cost calculator. Servis talebi fiyatlandırma belirli kullanım için nasıl değiştirirsiniz görmek için tahmini kullanımınızı eşleştirmek için uygun değişkenleri değiştirin.To see how the pricing would change for your particular use case change the appropriate variables to match your expected usage.

Alınacak beklediğiniz trafiği miktarına göre üç örnek maliyet profil sağladık:We have provided three sample cost profiles based on amount of traffic you expect to get:

  • Küçük: Bu profilde tek bir kullanıyoruz Standard S1 ücretsiz katmanı Azure Bot hizmeti, tek bir Web sitesi barındırmak için Web App Basic Azure Search hizmeti ve Standard S2 SQL veritabanı.Small: In this profile, we're using a single Standard S1 Web App to host the website, the free tier of the Azure Bot service, a single Basic Azure Search service, and a Standard S2 SQL Database.
  • Orta: Burada şu iki örneği için Web uygulaması ölçeklendirme Standard S3 katmanı için arama hizmetinin yükseltilmesi, bir Standard S1 katmanı ve kullanarak bir Standard S6 SQL veritabanı.Medium: Here we are scaling up the Web App to two instances of the Standard S3 tier, upgrading the Search Service to a Standard S1 tier, and using a Standard S6 SQL Database.
  • Büyük: En büyük profilinde dört örneklerini kullanırız bir Premium P2V2 Web uygulaması, Azure robot hizmetini Standard S1 Katmanı (1.000.000 ile Premium kanallar iletilerinde), 2 birim kullanın Standard S3 Azure Search hizmeti ve Premium P6 SQL Veritabanı.Large: In the largest profile, we use four instances of a Premium P2V2 Web App, upgrade the Azure Bot service to the Standard S1 tier (with 1.000.000 messages in Premium channels), use 2 units of the Standard S3 Azure Search service, and a Premium P6 SQL Database.

Azure arama hakkında daha fazla bilgi edinmek için Belge Merkezi, kullanıma örnekleri, veya tam kapsamlı bir [demo sitesi] search-demo sürüyor.To learn more about Azure Search, visit the documentation center, check out the samples, or see a full fledged demo site in action.