2010-10-07 10 views
5

J'ai une solution avec un stockage de table Azure avec jusqu'à quelques "rangées" par client (clé de partition).Comment faire une recherche de texte libre dans Azure Table Storage?

Comment effectuer au mieux une recherche de texte libre rapide comme l'éclair?

En raison de la nature des données, je ne suis pas en mesure de faire une recherche de mot de trou (par exemple, une recherche de "zur" devrait correspondre à "Azure").

Répondre

2

Pour l'instant il n'y a pas de solution prête à l'emploi pour cela. Peut-être qu'une fonctionnalité de recherche en texte intégral sera annoncée au PDC10. Pour l'instant, vous devrez donc utiliser votre propre solution d'indexation de texte. La façon dont j'ai fait cela est en construisant un index Lucene.net sur un rôle de travailleur. J'ouvre ensuite un port tcp sur ce rôle de travail qui fournit un service de recherche en utilisant WCF. Tout rôle Web peut alors consommer ce service. Cela fonctionne très bien et fournit un service de recherche très rapide.

Il y a une vidéo de PDC09 par Steve Marx qui donne plus d'informations: http://www.microsoftpdc.com/2009/SVC16

4

Nous utilisons les éléments suivants dans la production de nos sites: Nous courons hébergé solr (basé sur lucene) instances sur http://websolr.com et mettre en cache les résultats en utilisant la nouvelle fonctionnalité de cache distribué azure qui est actuellement en version bêta. Cela nous donne une latence pire de 200 ms pour une requête de recherche initiale entre le centre de données Amazon où websolr.com s'exécute et Azure Datacenter et une moyenne de 6 - 10 ms pour toutes les recherches en cache. Nous enregistrons également des fragments de texte de recherche courants et essayons de les conserver dans le cache.