2017-09-25 25 views
0

こんにちは、mysql dbをsolrにインデックスしようとしています。しかし、その唯一のインデックスID。私はたくさん試しました。しかし、成功はありません。しかし、私は同じデータベース内のジオロケーションをインデックス化し、すべての都市のインデックス作成に成功しました。私は何が欠けているかを知ることができます。このクエリには、「SolrがMySQLからインデックスされた結果を返さない」などの製品の説明が含まれています。Solrがmysqlデータベースのインデックスを作成していません

マイデシベルの設定

<entity name="geo" 
    pk="id" 
    query="select id, title from `inlive`" 
    deltaImportQuery="select id, title from `inlive`" 
    deltaQuery="select id, title from `inlive`" 
    > 
     <field column="id" name="id"/> 
     <field column="title" name="title"/> 
    </entity> 

スキーマ

<?xml version="1.0" encoding="UTF-8" ?> 
<uniqueKey>id</uniqueKey> 
<schema name="geo" version="1.5"> 
    <field name="_version_" type="long" indexed="true" stored="true"/> 
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="title" type="string" indexed="true" stored="true" multiValued="false" required="true" /> 
</schema> 

結果

{ 
    "responseHeader":{ 
    "status":0, 
    "QTime":3, 
    "params":{ 
     "q":"*:*", 
     "indent":"on", 
     "wt":"json", 
     "_":"1506369405758"}}, 
    "response":{"numFound":2,"start":0,"docs":[ 
     { 
     "id":"1", 
     "_version_":1579543508130201600}, 
     { 
     "id":"2", 
     "_version_":1579543508218281984}] 
    }} 

デバッグ

{ 
    "responseHeader": { 
    "status": 0, 
    "QTime": 275 
    }, 
    "initArgs": [ 
    "defaults", 
    [ 
     "config", 
     "data-config.xml" 
    ] 
    ], 
    "command": "full-import", 
    "mode": "debug", 
    "documents": [ 
    { 
     "id": [ 
     1 
     ], 
     "_version_": [ 
     1579544391043776500 
     ] 
    }, 
    { 
     "id": [ 
     2 
     ], 
     "_version_": [ 
     1579544391046922200 
     ] 
    } 
    ], 
    "verbose-output": [ 
    "entity:geo", 
    [ 
     "document#1", 
     [ 
     "query", 
     "select id, title from `inlive`", 
     "time-taken", 
     "0:0:0.10", 
     null, 
     "----------- row #1-------------", 
     "id", 
     1, 
     "title", 
     "test title", 
     null, 
     "---------------------------------------------" 
     ], 
     "document#2", 
     [ 
     null, 
     "----------- row #1-------------", 
     "id", 
     2, 
     "title", 
     "test title 2", 
     null, 
     "---------------------------------------------" 
     ], 
     "document#3", 
     [] 
    ] 
    ], 
    "status": "idle", 
    "importResponse": "", 
    "statusMessages": { 
    "Total Requests made to DataSource": "1", 
    "Total Rows Fetched": "2", 
    "Total Documents Processed": "2", 
    "Total Documents Skipped": "0", 
    "Full Dump Started": "2017-09-25 20:21:57", 
    "": "Indexing completed. Added/Updated: 2 documents. Deleted 0 documents.", 
    "Committed": "2017-09-25 20:21:57", 
    "Optimized": "2017-09-25 20:21:57", 
    "Time taken": "0:0:0.255" 
    } 
} 
+0

管理スキーマをschema.xmlをまたは削除する管理対象スキーマの名前を変更する必要が欠落しているが'エンティティ'の終了タグを変更した後、あなたの設定を再ロードするようにしましたか? – MatsLindh

+0

エンティティのクローズ・タグはすでにこれに含まれています。コードエディタがクローズタグを見逃しました。何が欠けているのか? –

+0

問題が見つかりました。私が使用するとき その索引付け。しかし、私はタイトルattibuteでそれをインデックスする必要があります。 –

答えて

0

最後に、このsolrの問題が見つかりました。

solを使用しています。6.6 このリンクhttp://makble.com/how-to-index-mysql-data-in-solrでこのチュートリアルのとおり、スキーマにスキーマの名前を変更しました。また、私は地理都市で試運転を行いました。デフォルトでは、管理されたスキーマがメインスキーマとして使用され、古いテストスキーマフィールドが使用されました。そのschema.xmlを取得していません。

だから、解決策は、schema.xmlを

<schemaFactory class="ClassicIndexSchemaFactory"/> 

参考リンク定義する必要があります:Data-config.xml and mysql - I can load only "id" column

または

関連する問題