Indexar o wikipedia com solr

instalei o solr 4.6.0 e sigo o tutorial disponível na página inicial do Solr. Estava tudo bem, até ter de fazer um trabalho a sério que estou prestes a fazer. Eu tenho que obter um acesso rápido ao conteúdo da wikipedia e eu fui aconselhado a usar Solr. Bem, eu estava tentando seguir o exemplo no link http://wiki.apache.org/solr/DataImportHandler#Example:_Indexing_wikipedia mas não consegui o exemplo. Eu sou novato, e não sei o que significa data_config.xml!

<dataConfig>
        <dataSource type="FileDataSource" encoding="UTF-8" />
        <document>
        <entity name="page"
                processor="XPathEntityProcessor"
                stream="true"
                forEach="/mediawiki/page/"
                url="/data/enwiki-20130102-pages-articles.xml"
                transformer="RegexTransformer,DateFormatTransformer"
                >
            <field column="id"        xpath="/mediawiki/page/id" />
            <field column="title"     xpath="/mediawiki/page/title" />
            <field column="revision"  xpath="/mediawiki/page/revision/id" />
            <field column="user"      xpath="/mediawiki/page/revision/contributor/username" />
            <field column="userId"    xpath="/mediawiki/page/revision/contributor/id" />
            <field column="text"      xpath="/mediawiki/page/revision/text" />
            <field column="timestamp" xpath="/mediawiki/page/revision/timestamp" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" />
            <field column="$skipDoc"  regex="^#REDIRECT .*" replaceWith="true" sourceColName="text"/>
       </entity>
        </document>
</dataConfig>

não foi possível encontrar na pasta pessoal do Solr. Além disso, eu tentei encontrar algumas perguntas relacionadas com o meu, Como indexar arquivos da Wikipédia em .o formato xml no solr e A indexar o dump da Wikipédia com o solr , mas não resolveram a minha dúvida.

acho que preciso de algo mais básico, guiando-me passo a passo, porque o tutorial é confuso quando lida com indexação da Wikipédia.

Qualquer conselho para dar algumas indicações ao folow seria bom.

Author: Community, 2013-12-09

2 answers

  • Para o data_config.xml

    Cada instância Solr é configurada usando três ficheiros principais: solr.xml, solrconfig.xml, esquema.xml, and the data_config.ficheiro xml define a fonte de dados quando usa o componente DIH, este URL seria útil para si: DIH .

  • Acerca da pasta pessoal do Solr

    Devias começar por aqui. https://cwiki.apache.org/confluence/display/solr/Running + Solr
 2
Author: AaronLau, 2013-12-10 11:00:23
Bem, li muitas coisas na Web e tentei recolher o máximo de informação possível. Foi assim que encontrei a solução: Aqui está a minha solrconfig.xml:
...
  <!-- ****** Data import handler -->
  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>
...
  <lib dir="../../../dist/" regex="solr-dataimporthandler-.*\.jar" />
Aqui está a minha configuração de dados.xml: (importante: deve estar na mesma pasta do solrconfig.xml)
<dataConfig>
        <dataSource type="FileDataSource" encoding="UTF-8" />
        <document>
        <entity name="page"
                processor="XPathEntityProcessor"
                stream="true"
                forEach="/mediawiki/page/"
                url="/Applications/solr-4.6.0/example/exampledocs/simplewikiSubSet.xml"
                transformer="RegexTransformer,DateFormatTransformer"
                >
            <field column="id"        xpath="/mediawiki/page/id" />
            <field column="title"     xpath="/mediawiki/page/title" />
            <field column="revision"  xpath="/mediawiki/page/revision/id" />
            <field column="user"      xpath="/mediawiki/page/revision/contributor/username" />
            <field column="userId"    xpath="/mediawiki/page/revision/contributor/id" />
            <field column="text"      xpath="/mediawiki/page/revision/text" />
            <field column="timestamp" xpath="/mediawiki/page/revision/timestamp" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" />
            <field column="$skipDoc"  regex="^#REDIRECT .*" replaceWith="true" sourceColName="text"/>
       </entity>
        </document>
</dataConfig>
Atenção: a última linha é muito importante! O meu esquema.xml:
...
   <field name="id"        type="string"  indexed="true" stored="true" required="true"/>
   <field name="title"     type="string"  indexed="true" stored="false"/>
   <field name="revision"  type="int"    indexed="true" stored="true"/>
   <field name="user"      type="string"  indexed="true" stored="true"/>
   <field name="userId"    type="int"     indexed="true" stored="true"/>
   <field name="text"      type="text_en"    indexed="true" stored="false"/>
   <field name="timestamp" type="date"    indexed="true" stored="true"/>
   <field name="titleText" type="text_en"    indexed="true" stored="true"/>
...
 <uniqueKey>id</uniqueKey>
...
   <copyField source="title" dest="titleText"/>
...
E está feito. É tudo, pessoal!
 1
Author: Marcelo, 2014-03-11 13:50:14