Pregunta

Básicamente, estoy tratando de indexar documentos de Word o PDF en Solr y encontré el ExtractingRequestHandler, pero no puedo entender cómo escribir código en C# que realiza la solicitud de publicación HTTP como en la wiki de Solr: http://wiki.apache.org/solr/extractingRequesthandler.

Instalé SOLR 3.4 en Tomcat 7 (7.0.22) usando los archivos del directorio de ejemplo/Solr en el zip Solr y no he alterado nada. ExtractingRequestHandler debe configurarse fuera de la caja en el solrconfig.xml y listo para usar, ¿verdad?

¿Pueden algunos de ustedes dar un ejemplo de C# (httpwebRequest) de cómo realiza la solicitud de publicación HTTP y cargar un archivo PDF como se realiza con Curl en la wiki solr?

He mirado en todo este sitio y muchos otros tratando de encontrar un ejemplo o un tutorial sobre cómo se hace esto, pero no he encontrado nada.

EDITAR:

¡Finalmente logré que funcionara usando Solrnet!

Para que funcione, debe copiar esto a un holgazán lib en su directorio de instalación de Solr desde el zip Solr:

  • apache-solr-cell-3.4.0.jar archivo desde la carpeta DIST
  • Contenido de Contrib Extraction Lib Directory

Con Solrnet 0.4.0 Beta 2, este código hace el trabajo:

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();

Lo siento por la molestia. Sin embargo, espero que otros encuentren esto útil.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top