2017-09-14 1 views
2

Données en sql azure, nous avons une webapi existante exposer les données avec odata. Le problème est que le client souhaite passer un appel avec des filtres avec une requête de sous-chaîne sur quelques colonnes, ce qui ralentit considérablement les performances. nous discutons à ce stade si utiliser l'index de recherche de texte intégral ou utiliser le service de recherche azur, pensées s'il vous plaît?Recherche azur ou index du texte intégral?

+1

vous pouvez tester les deux et voir qui offre de meilleures performances pour votre scénario, mais je vois la recherche Azure plus puissant: https: //docs.microsoft.com/en-us/azure/search/search-what-is-azure -search – TheGameiswar

+0

merci, serait azur de recherche soutenir le filtre de sous-chaîne multi-colonne logique? par exemple. substringof ('Alfreds', CompanyName) ou substringof ('adam', Nom) ou substringof ('manager', title)? –

+0

Je n'ai jamais essayé, mais il semble être plus puissant sur la base des docs – TheGameiswar

Répondre

1

Vous pouvez pointer Azure Search sur votre base de données AzureSQL et l'indexer sans avoir à écrire de code, mais Azure Search est un service payant à l'heure et vous pouvez en apprendre plus à ce sujet here.

Azure Recherche est recommandé pour effectuer des recherches sur les différentes sources et l'application

recherche Azure peut être utilisé au lieu de recherche en texte intégral, mais si vous devez joindre les résultats de recherche avec d'autres tables, puis Full-Text Search est conseillé.

Espérons que cela aide.

+0

merci, serait azur de recherche soutenir multi-colonne logique sur même filtre de sous-chaîne de table? par exemple. substringof ('Alfreds', CompanyName) ou substringof ('adam', Nom) ou substringof ('manager', title)? –

+0

A ma connaissance, Azure Search ne supporte pas la correspondance partielle autre que la correspondance de préfixe. Plus à ce sujet sur cette URL: https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search?redirectedfrom=MSDN –

+0

Je pensais que le support contient, mais avec mon poke de 2 minutes autour de lui ne semble rechercher que le préfixe de support, par exemple Home * travail, mais * home * ne rend rien, ou est-ce que je manque quelque chose, c'est juste triste, n'est pas la recherche plein texte de toute façon –