2012-01-19 33 views
8

Temel olarak Solr'da kelime veya pdf belgeleri indekslemeye çalışıyorum ve ExtractingRequestHandler'ı buldum, ancak C# içinde kod yazmayı nasıl yapamayacağımı, Solr wiki: http://wiki.apache.org/solr/ExtractingRequestHandler.Dizin pdf belgeleri Solr dan C# istemci

Solr 3.4'teki Solr zip dosyasındaki/solr dizinindeki dosyaları kullanarak Solr 3.4'ü Tomcat 7'ye (7.0.22) yükledim ve hiçbir şey değiştirmedim. ExtractingRequestHandler, solrconfig.xml içindeki kutudan yapılandırılmalı ve kullanıma hazır, değil mi?

Bazılarınız, HTTP POST isteğini nasıl oluşturduğunuza ve Solr wiki'de curl kullanılarak yapıldığı gibi bir PDF dosyası yüklediğinize dair bir C# (HttpWebRequest) örneği verebilir mi?

Bu sitenin her tarafına bakıyorum ve diğerleri, bunun nasıl yapıldığına dair bir örnek veya öğretici bulmaya çalışıyor, ancak hiçbir şey bulamadım.

DÜZENLEME:

Sonunda o SolrNet kullanarak çalışmak için başardı!

  • apache-Solr hücreli-3.4.0.jar dosyasından: Eğer Solr zip adresinin Solr yükleme dizininde bir lib-klasöre bu kopyalamanız gerekir çalışması için de

    bir dist klasörü

  • içerik contrib \ çıkarma \ SolrNet 0.4.0 beta 2 ile

, bu kod işi yapar lib dizini:

Startup.Init<IndexDocument>("YOUR-SOLR-SERVICE-PATH"); 
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<IndexDocument>>(); 

using (FileStream fileStream = File.OpenRead("FILE-PATH-FOR-THE-FILE-TO-BE-INDEXED")) 
{ 
    var response = 
     solr.Extract(
      new ExtractParameters(fileStream, "doc1") 
      { 
       ExtractFormat = ExtractFormat.Text, 
       ExtractOnly = false 
      }); 
} 

solr.Commit(); 

Sorun için özür dilerim. Umarım diğerleri bunu faydalı bulacaktır.

+0

Çok faydalı bilgiler -> benim için çalışıyor. – FrenkyB

+0

IndexDocument sınıfınızı gönderir misiniz? Teşekkürler! – CmdrTallen

+0

ExtractParameters kullanmak için SolrNet> 0.3.1 ("Install-Package SolrNet -Pre") – CmdrTallen

cevap

3

SolrNet istemcisini kullanmanızı öneririm. ExtractingRequestHandler'ı destekler.

+0

'a ihtiyacım var SolrNet'i zaten kullanıyorum ama ExtractingRequestHandler'ın desteklendiğini bilmiyordum. Bu konuda bir çeşit dokümantasyon var mı? – jonasm

+0

Tüm SolrNet belgelerinin üzerinde bulundum ve sadece en yeni beta sürümünde destekleniyor gibi görünüyor. Yine de mümkün ise bir HttpWebRequest kullanarak bir örnek istiyorum. – jonasm

+0

SolrNet'in bu sürümü destekleyen bir Beta sürümü olmasına rağmen, tamamen kararlı ve kullanılabilir. SolrNet'i 2 yıldır kullanıyordum ve üretim ortamlarımızda herhangi bir sorun yaşamadan Beta sürümleri yayınlıyor. Örnek olarak, SolrNet kaynağını - https://github.com/mausch/solrnet'i araştırıyordum - biliyorum, HrpWebRequest'i Solr'ı çağırıyor, bu yüzden ne yaptığınızı takip edebilmelisiniz. –