2017-10-28 138 views
0

我試圖使用Solr 7.0索引一些wiki頁面,但在最後一步中,DataImportHandler顯然沒有提取數據。我不知道發生了什麼,因爲沒有錯誤被拋出。Solr DIH XML不提取

當我打電話給http://localhost:8983/solr/mycore/dataimport?command=full-import兩種不同的行爲是顯而易見的。

我的第一個請求的第一個響應是。

{ 
    "responseHeader":{ 
     "status":0, 
     "QTime":75 
    }, 
    "initArgs":[ 
     "defaults",[ 
      "config","data-config.xml" 
     ] 
    ], 
    "command":"full-import", 
    "status":"idle", 
    "importResponse":"", 
    "statusMessages":{} 
} 

,當我剛剛再次按Enter鍵是第二個響應。

{ 
    "responseHeader":{ 
     "status":0, 
     "QTime":26 
    }, 
    "initArgs":[ 
     "defaults",[ 
      "config","data-config.xml" 
     ] 
    ], 
    "command":"full-import", 
    "status":"idle", 
    "importResponse":"", 
    "statusMessages":{ 
     "Total Requests made to DataSource":"0", 
     "Total Rows Fetched":"2", 
     "Total Documents Processed":"0", 
     "Total Documents Skipped":"0", 
     "Full Dump Started":"2017-10-28 07:05:31", 
     "":"Indexing completed. Added/Updated: 0 documents. Deleted 0 
      documents.", 
     "Committed":"2017-10-28 07:05:31", 
     "Time taken":"0:0:0.449" 
    } 
} 

正如你在第二個答案中看到的,DIH找到了2個文件。這正是我在測試文件wiki.xml中的文檔編號。問題是DIH沒有提取,因爲您可能會注意到Indexing completed. Added/Updated: 0 documents. Deleted 0 documents.

這是我的Solr配置:git gist。我正在使用Windows 10,Solr 7.0和Lucene 7.0。

我到目前爲止已經試過......

  • 其中之一,我試圖提取的是「用戶」,但也有一些違規行爲與它的數據,例如,在<contributor> XML標籤有一些時間兩個子標籤<username>(用戶暱稱)和<id>(用戶ID),當用戶有一個帳戶和其他一些時間,當用戶沒有一個帳戶<contributor>出現只有一個子標籤<ip>。所以我只是嘗試導入沒有「用戶」數據的數據。
  • 我只是想獲得唯一的ID和標題。爲此,我對data-config.xml中的其他字段發表評論。

這些測試沒有人工作。

回答

0

你的問題很簡單,你的entity標籤最初是關閉的,所以以下所有fields標籤都被忽略。

所以,你需要用剛<entity>

事後添加</entity>標籤和替換<entity/>但是,你仍然solrconfig.xml中包含一個錯誤,您正在使用ClassicIndexSchemaFactory,但你必須AddSchemaFieldsUpdateProcessorFactory,這將導致異常。您應該將經典模式工廠替換爲受管理的工廠,或者只是刪除此添加字段更新處理器工廠。