Индекс pdf документов в Solr от клиента C #
В основном я пытаюсь проиндексировать документы Word или PDF в Solr и обнаружил ExtractingRequestHandler, но не могу понять, как написать код на c #, который выполняет HTTP-запрос POST, как в вики Solr:http://wiki.apache.org/solr/ExtractingRequestHandler.
Я установил Solr 3.4 на Tomcat 7 (7.0.22), используя файлы из каталога example / solr в zip-архиве Solr, и я ничего не изменил. ExtractingRequestHandler должен быть настроен из коробки в файле solrconfig.xml и готов к использованию, верно?
Могут ли некоторые из вас привести пример C # (HttpWebRequest) того, как вы делаете HTTP-запрос POST и загружаете файл PDF, как это делается с помощью curl в вики Solr?
Я просмотрел этот сайт и многие другие, пытаясь найти пример или учебное пособие о том, как это делается, но ничего не нашел.
РЕДАКТИРОВАТЬ:
Мне наконец удалось заставить это работать, используя SolrNet!
Чтобы это работало, вам нужно скопировать это в lib-папку в вашем установочном каталоге Solr из zol-файла Solr:
файл apache-solr-cell-3.4.0.jar из папки distсодержимое каталога contrib \ extract \ libВ SolrNet 0.4.0 beta 2 этот код выполняет свою работу:
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();
Извините за беспокойство. Я надеюсь, однако, что другие найдут это полезным.