indexando todos os documentos na pasta doc para solr FileListEntityProcessor
http://wiki.apache.org/solr/ExtractingRequestHandler não fornece muitas informações sobre como configurar esse manipulador em um webapplication que possui seu próprio contexto e deseja usar o solr como recursos do servidor como solr do embebdedd. Você pode, por favor, fornecer algumas informações sobre como enviar os documentos para o solr e procurar algum conteúdo desses documentos? Eu configurei o DIH como no solrConf.xml
<code><requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">tika-data-config.xml</str> </lst> </requestHandler> </code>
e tika-data-config.xml parece
<code><dataConfig> <dataSource type="BinFileDataSource" name="bin" /> <document> <entity name="sd" processor="FileListEntityProcessor" newerThan="'NOW-30DAYS'" filenName=".*\.(DOC)|(PDF)|(pdf)|(doc)|(docx)|(ppt)" baseDir="G:/workspace/FacetedSearch/src/solr/docs" recursive="true" rootEntity="false" > <field column="fileAbsolutePath" name="path" /> <field column="fileSize" name="size" /> <field column="fileLastModified" name="lastmodified" /> <field column="fileAbsolutePath" name="text" /> <!-- <field column="fileName" name="text" /> --> <field column="baseDir" name="text" /> <!-- <entity name="tika-test" processor="TikaEntityProcessor" url="${sd.fileAbsolutePath}" format="text" dataSource="bin"> --> <entity name="tika-test" dataSource="bin" processor="TikaEntityProcessor" url="G:/workspace/FacetedSearch/src/solr/docs" format="text" > <field column="Author" name="author" meta="true"/> <field column="Content-Type" name="title" meta="true"/> <field column="title" name="title" meta="true"/> <field column="text" name="text"/> </entity> </entity> </document> </dataConfig> </code>
o diretório G: / workspace / FacetedSearch / src / solr / docs contém muitos arquivos pdf e html, alguns deles são tutorial.pdf ...... index.pdf
após esta configuração quando eu construir o objeto solrQuery como
<code> CoreContainer.Initializer initializer = new CoreContainer.Initializer(); CoreContainer coreContainer = initializer.initialize(); EmbeddedSolrServer solrServer = new EmbeddedSolrServer(coreContainer, ""); SolrQuery solrQuery = new SolrQuery(); solrQuery.addField("literal.id"); solrQuery.setQuery("index.pdf"); QueryResponse queryResponse = null ; try{ queryResponse = (QueryResponse) solrServer.query(solrQuery); }catch(Exception e){ System.out.println("exception occured while processing the solrQuery "+ e.getMessage() +"stack trace " + e + solrQuery.toString()); } out.println(queryResponse); </code>
Eu não obtenho nenhum resultado (aqui queryResponse é nulo). Eu tenho o schema.xml distribuído pelo solr 3.5 e adicionei alguns campos como
<code><field name="path" type="text_general" indexed="true" stored="true" /> <field name="lastmodified" type="date" indexed="true" stored="true" /> </code>
Eu tenho pergunta como são os documentos em "G: / workspace / FacetedSearch / src / solr / docs" serão indexados por solr em inicialização solr? Se estes são indexados, como posso obter o resultado?
Alguém pode por favor me avisar onde eu estou fazendo errado?
Por favor, deixe-me saber se mais alguma informação necessária de mim em obter minhas respostas.