Не могу импортировать данные из MySql в Solr с помощью Ubuntu 10.10 - PullRequest
1 голос
/ 24 ноября 2010

Я установил пакет solr-commons через apt-get (Ubuntu 10.10).Я могу перейти к http://localhost:8080/solr, и он отлично работает.

Я определил схему следующим образом:

<fields>
   <field name="idEmpresa" type="sint" indexed="true" stored="true" required="true" />
   <field name="nombre" type="text" indexed="true" stored="true" required="true" />
   <field name="sitioWeb" type="text" indexed="true" stored="true" required="false" />
   <field name="email" type="text" indexed="true" stored="true" required="false" />
   <field name="telefono" type="text" indexed="true" stored="true" required="false" />
 </fields>

 <!-- Field to use to determine and enforce document uniqueness. 
      Unless this field is marked with required="false", it will be a required field
   -->
 <uniqueKey>idEmpresa</uniqueKey>

 <!-- field for the QueryParser to use when an explicit fieldname is absent -->
 <defaultSearchField>nombre</defaultSearchField>

 <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
 <solrQueryParser defaultOperator="OR"/>

Это мой файл data-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource type="JdbcDataSource"
                  driver="com.mysql.jdbc.Driver"
                  url="jdbc:mysql://localhost/viajeros2_ut8"
                  user="user"
                  password="pwd"
                />

    <document>
        <entity name="empresa" query="select idEmpresa, nombre, sitioWeb, telefono, direccion from empresas WHERE 1">
        </entity>
    </document>
</dataConfig>

Наконец, вот как я настроил свой solrconfig.xml:

 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">/usr/share/solr/conf/data-config.xml</str>
    </lst>
  </requestHandler>

Когда я пытаюсь http://localhost:8080/solr/dataimport?command=full-import, я получаю это:

<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int name="QTime">91</int></lst><lst name="initArgs"><lst name="defaults"><str name="config">/usr/share/solr/conf/data-config.xml</str></lst></lst><str name="command">full-import</str><str name="status">idle</str><str name="importResponse"/><lst name="statusMessages"/><str name="WARNING">This response format is experimental.  It is likely to change in the future.</str>
</response>

Я могуне найдете никаких журналов или любой другой информации, которая могла бы помочь мне решить проблему, и, как это случилось со многими, доступная документация не очень полезна.

Любые идеи будут высоко оценены.Спасибо!

1 Ответ

0 голосов
/ 22 декабря 2010

Если вы установили solr-tomcat через synaptics / apt, то Ubuntu помещает журналы для tomcat (включая выходные данные Solr) в:
/var/log/tomcat6/catalina.out

Это, вероятно, будет содержать ошибку:
org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mysql.jdbc.Driver Processing Document # 1

... что означает, что Solr не может найти драйвер MySql для Java.

Итак, установите драйвер:
sudo apt-get install libmysql-java

... и создайте символическую ссылку на пакет драйверов где-нибудь, где Solr сможет найти его:
sudo mkdir /usr/share/solr/lib
cd /usr/share/solr/lib
sudo ln -s /usr/share/java/mysql-connector-java.jar

Это, кажется, меня досталодо такой степени, что мне удалось проиндексировать простую таблицу из MySql, надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...