2012-06-11 5 views
0

Nous utilisons SimpleLucene tout au long de notre application pour la recherche. Tout fonctionne bien. Nous téléchargeons notre application sur Azur et cela fonctionne bien, cependant, chaque fois que je fais des changements et que je dois ré-télécharger sur Azure, je dois recréer un index pour m'assurer qu'il est à jour. Je veux déplacer mon index Azure vers le stockage Blob sur azure, mais je ne sais pas comment faire fonctionner Azure Lucene Directory avec SimpleLucene. Exemple de code serait apprécié.Comment obtenir SimpleLucene.Net pour travailler avec Azure

Je construis un index comme celui-ci. Comment puis-je créer indexWriter à partir du stockage blob Azure? Je sais qu'il y a une DLL AzureDirectory que je peux utiliser mais qui ne fonctionne pas avec SimpleLucene

+0

Cela peut aider http://code.msdn.microsoft.com/windowsazure/Azure-Library-for-83562538 – Paparazzi

+0

@Blam - J'ai cette bibliothèque, mais je ne peux pas le faire fonctionner avec SimpleLucene – fenix2222

Répondre

1

Je dirais que Simple Lucene n'est peut-être pas une bonne option à utiliser avec Windows Azure parce que je ne suis pas sûr qu'il ait du code pour stocker l'index sur Windows Azure Blob Storage. Êtes-vous sûr qu'il peut enregistrer pour indexer sur le stockage Windows Azure Blob?

Je l'ai utilisé Lucene.NET for Windows Azure, que vous pouvez utiliser pour indexer de stocker sur le stockage Windows Azure Blob directement, en créant Azure Blob Storage

Étape 1: Configurez votre Azure Blob Storage

<configuration> 
    <appSettings> 
    <!-- azure SETTINGS --> 
    <add key="BlobStorageEndpoint" value="http://YOURACCOUNT.blob.core.windows.net"/> 
    <add key="AccountName" value="YOURACCOUNTNAME"/> 
    <add key="AccountSharedKey" value="YOURACCOUNTKEY"/> 
    </appSettings> 
</configuration> 

Etape 2: Utilisation IndexWriter pour stocker l'index sur Azure Blob Storage:

AzureDirectory azureDirectory = new AzureDirectory("TestCatalog"); 
IndexWriter indexWriter = new IndexWriter(azureDirectory, new StandardAnalyzer(), true); 
Document doc = new Document(); 
doc.Add(new Field("id", DateTime.Now.ToFileTimeUtc().ToString(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO)); 
doc.Add(new Field("Title", “this is my title”, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO)); 
doc.Add(new Field("Body", “This is my body”, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO)); 
indexWriter.AddDocument(doc); 
indexWriter.Close(); 

donc, si vous décidez d'utiliser Lucene.net pour Windows Azure qui serait le comp plus facile et meilleur plan d'action.

+0

Ce code que j'ai déjà . J'ai dû modifier l'implémentation de SimpleLucene pour le faire fonctionner. Je pense que cela fonctionne, besoin de faire d'autres tests. – fenix2222

+0

SimpleLucene est un bon emballage sur Lucene.NET, il a 3 téléchargements sur codeplex est seulement parce que vous ne téléchargez pas vraiment à partir de là, vous l'obtenez de NuGet où il a 995 téléchargements. – fenix2222

+0

l'ai eu .. merci pour l'info. Je n'ai même jamais essayé de l'utiliser. Peut-être que vous pouvez faire fonctionner Lucene.Net d'abord, puis essayer d'utiliser SimpleLucene, qui pourrait vous aider à démarrer. bonne chance!! – AvkashChauhan

Questions connexes