Zasadniczo próbuję indeksować dokumenty Word lub PDF w Solr i znalazłem ExtractingRequestHandler, ale nie mogę wymyślić, jak napisać kod w języku C#, który wykonuje żądanie POST HTTP, jak w Solr wiki: http://wiki.apache.org/solr/ExtractingRequestHandler.Indeks dokumentów pdf w Solr od klienta C#
Zainstalowałem Solr 3.4 na Tomcat 7 (7.0.22) używając plików z katalogu/solr w archiwum Solr i niczego nie zmieniłem. Plik ExtractingRequestHandler powinien zostać skonfigurowany po wyjęciu z pudełka w pliku solrconfig.xml i gotowy do użycia, prawda?
Czy niektórzy z was mogą podać przykład C# (HttpWebRequest), w jaki sposób utworzyć żądanie HTTP POST i przesłać plik PDF, tak jak robi się to przy użyciu curl w wiki Solr?
Rozejrzałem się po tej stronie i wielu innych, próbując znaleźć przykład lub samouczek, jak to zrobić, ale nic nie znalazłem.
EDIT:
końcu udało mi się zmusić go do pracy przy użyciu SolrNet!
W celu użycia go do pracy trzeba skopiować to do folderu lib-w katalogu instalacyjnym Solr z zamkiem Solr:
- apache-solr-cell-3.4.0.jar plik z Folder dist
- treść contrib \ ekstrakcja \ lib
z SolrNet 0.4.0 beta 2, kod ten spełnia swoje zadanie:
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();
Przepraszamy za kłopot. Mam jednak nadzieję, że inni uznają to za przydatne.
Bardzo przydatne informacje -> to działa dla mnie. – FrenkyB
Czy możesz opublikować swoją klasę IndexDocument? Dzięki! – CmdrTallen
Aby użyć ExtractParameters potrzebujesz SolrNet> 0.3.1 ("Install-Package SolrNet-Pre") – CmdrTallen