В основном я пытаюсь проиндексировать документы 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();
Извините за беспокойство.Однако я надеюсь, что другие найдут это полезным.