2

これをブラウザにロードしてmysqlテーブルをインポートしようとすると:

http://192.168.136.129:8983/solr/dataimport?command=full-import

次のエラーが表示されます。

HTTP ERROR 404

Problem accessing /solr/dataimport. Reason:

    NOT_FOUND

Powered by Jetty://

公式の Solr wiki のこのチュートリアルに従って、DIH を使い始めます。

http://wiki.apache.org/solr/DIHQuickStart

チュートリアルに従って、これを solrconfig.xml に追加しました。

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

data-config.xml には次のものがあります。

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost/site" 
              user="root" 
              password="123"/>
  <document>
    <entity name="profiles" 
            query="select user_id,about,music,movies,occupation from profiles">
    </entity>
  </document>
</dataConfig>

そして、これらは私のschema.xmlで定義されたフィールドです:

  <fields>
    <field name="user_id" type="string" indexed="true" stored="true" required="true" />
    <field name="about" type="string" indexed="true" stored="true" />
    <field name="music" type="string" indexed="true" stored="true" />
    <field name="movies" type="string" indexed="true" stored="true" />
    <field name="occupation" type="string" indexed="true" stored="true" />  
    <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
  </fields>

  <uniqueKey>user_id</uniqueKey>

それで、私は何を間違っていますか?data-config.xml ファイルと関係があるのではないかと思います。その中で、MySQL ドライバーへの特定のパスが想定されているかどうかはわかりません。ここから MySQL JDBC ドライバーをダウンロードしました。

http://dev.mysql.com/downloads/connector/j/3.1.html

そしてそれを私の/solr/libディレクトリに入れます。

ドライバーをダウンロードして解凍すると、1 つのフォルダー内に「mysql-connector-java-3.0.17-ga」という名前のフォルダーがたくさんありました。

comその中に : という名前のディレクトリがあり、そのmysqljbdcDriver.class.

これは data-config.xml から参照されているものですか? もしそうなら、なぜ最初のディレクトリが言及されていないのですか?

基本的に、何が問題なのかわかりません。誰か助けてください。

4

5 に答える 5

5

solrconfig.xmlファイルにこれらのコード行があることを確認してください

<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />

それらのjarファイルのパスとそれらのjarファイルがそのパスで物理的に使用可能であることを確認してください。持っていない場合は、それを追加して、tomacatサーバーを再起動してみてください。うまくいけば、解決されます。

于 2013-02-05T19:45:44.133 に答える
1

この質問が古いことは知っていますが、最近セットアップする機会があり、Bitnami (Windows) を使用して同様の問題が発生しました。

  1. dataimporterとmysqlconnector\distがあることを確認してください:

solr-dataimporthandler-4.9.0.jar

mysql-connector-java-5.1.32-bin.jar

  1. \contrib\dataimporthandler\lib

    アクティベーション-1.1.1.jar

    メール-1.4.3.jar

  2. コレクションの solrconfig.xml には

    <lib dir="../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
    <lib dir="../../dist/" regex="solr-dataimporthandler-.*\.jar" />  
    <lib dir="../../dist/" regex="mysql-connector-java-.*\.jar"/>  
    

と:

  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">db-data-config.xml</str>
    </lst>
  </requestHandler>
于 2014-09-12T12:40:55.510 に答える
0

Solr /lib フォルダーに「DataImportHandler.jar」がないか、solr-conf.xml ファイルが DataImportHandler クラスを認識していないようです。

ヒットを確認するために、DataImportHandler がそこに存在することを確認してください。

"http://localhost/solr/dataimport" ,

ブラウザにエラー メッセージが表示されない場合は、solr-conf.xml が SolrDataImportHandler.jar の場所を認識していないことを意味します。

解決策 : 問題は、次のコード行を solr-conf.xml に使用することで解決できます。

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

詳細については、こちらをご覧ください。

初期設定が不完全な場合があります。インポートを開始する前に、こちらを参照して solr を設定してください。

于 2013-05-04T16:04:36.807 に答える
0

相対パスではなく、data-config.xml場所の絶対パスを入れてみてください。solrconfig.xml

于 2012-07-04T09:16:53.840 に答える
0

NOT_FOUND エラーが発生しているという事実は、リクエスト ハンドラーが初期化されていないことを意味します。Request Handler を挿入した後、必ず solr を再始動してください。

また、solrconfig.xml と同じディレクトリに data-config.xml が保存されていることを確認してください。

于 2012-04-28T18:03:51.707 に答える