Solr json,xml等文件數據導入(添加索引)linux下操作


      使用solr-5.3.1\example\exampledocs下的post.jar來完成數據導入

      1、將想要導入的文件放在solr-5.3.1\example\exampledocs中,如aaa.xml, bbb.json

      2、xml文件導入執行命令: java  -Dport=solr端口號  -Dc=目標集合名  -jar  post.jar  aaa.xml

           json文件導入執行命令: java  -Dport=solr端口號  -Dtype=application/json  -Dc=目標集合名  -jar  post.jar  bbb.json

           (端口號默認為8983,如solr端口號為8983,語句中可不加 ‘-Dport=solr端口號’)

 

      以下為post.jar的詳細介紹:

      語法: java [SystemProperties] -jar post.jar [-h|-] [<file|folder|url|arg> [<file|folder|url|arg>...]]

      語法屬性:

      SystemProperties:系統屬性

      -h:添加 -h 會打印命令提示信息

      <file|folder|url|args>:提交數據的幾種不同的形式。file 代表要提交的數據存在於文件中;folder 代表提交的數據存在於文件夾中;URL 代表地址資源;args 代表提交的數據直接在命令行中敲出來

      系統數據(SystemProperties):

  1. -Dc=<core/collection>  
  2. -Durl=<base Solr update URL> (overrides -Dc option if specified)  
  3. -Ddata=files|web|args|stdin (default=files)  
  4. -Dtype=<content-type> (default=application/xml)  
  5. -Dhost=<host> (default: localhost)  
  6. -Dport=<port> (default: 8983)  
  7. -Dauto=yes|no (default=no)  
  8. -Drecursive=yes|no|<depth> (default=0)  
  9. -Ddelay=<seconds> (default=for files, 10 for web)  
  10. -Dfiletypes=<type>[,<type>,...] (default=xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log)  
  11. -Dparams="<key>=<value>[&<key>=<value>...]" (values must be URL-encoded)  
  12. -Dcommit=yes|no (default=yes)  
  13. -Doptimize=yes|no (default=no)  
  14. -Dout=yes|no (default=no)     

 -D是命令行下指定系統屬性的固定前綴,

  c表示core名稱,你需要對solr admin里的哪個core進行索引數據添加/修改/刪除

  url表示solr admin后台索引更新的請求URL,這個URL是固定的,一般格式是http://host:port/solr/${coreName}/update,這里的${coreName}和上面的c屬性值保持一致

  data表示你要提交數據的幾種模式,files模式表示你要提交的數據在文件里

  web表示你要提交的數據在互聯網上的一個URL表示的資源文件里

  args表示你要提交的數據你會直接在post.jar命令后面直接輸入

  stdin表示你要提交的數據需要在dos命令行下通過System.in輸入流臨時接收,跟args有點類似, 但不同的是,stdin模式下,post.jar后面不需要指定任何參數,直接回車即可,然后程序會等待用戶輸入, 用戶輸入完畢再回車,post.jar會接收到用戶輸入,post.jar重新被喚醒繼續執行。而args是直接在post.jar后面輸入參數,沒有一個中斷過程,而stdin模式下如果用戶一直沒有輸入,那post.jar就會一直阻塞在那里等待用戶輸入為止。

  type表示你要提交數據的MIME類型,默認是application/xml即默認會當作是XML來處理

  host表示你要鏈接的SOlr Admin部署服務器的主機名或者IP地址,默認是localhost

  port表示你要鏈接的Solr Admin部署的Web容器監聽的端口號,默認post.jar里設置為8983,port具體值取決於你實際部署環境而定

  auto表示是否自動猜測文件類型

  recursive表示是否遞歸,這里遞歸有兩種情況,比如你data=folder即表示是否遞歸查找文件夾下的所有文件,如果你data=web即表示是否遞歸抓取URL,設置為no即表示不遞歸操作,設置為一個數字,即表示遞歸深度

  delay:這里的時間延遲也分兩種,如果你post的是file,那么每個file的post間隔為0,即不做延遲處理,而如果你是post的是網絡上的一個url資源,因為需要收到對方服務器的訪問限制,所以必須要做一個抓取頻率限制即每抓一個睡眠一會兒,否則抓取太快太頻率容易被對方封IP。

  filetypes表示post.jar支持提交哪些文件類型,后面有列出默認支持的文件類型,如果你想覆蓋默認值,那么請指定此參數

  params表示需要追加到Solr Admin的請求URL后面的請求參數如id=1&name=yida之類的

  commit表示是否提交到solr admin后台進行索引寫入,設置為false表示不提交至sor admin,但設置為true也不一定就意味着就一定會把索引寫入磁盤,這取決於solrconfig中directory配置的實現是什么,如果配置的是RAMDirectory,就僅僅只在內存中操作了。

  optimize表示是否需要對索引進行優化操作,默認為no即表示不對索引進行優化

  out即OutputStream表示輸出流,這個參數作用就是,你請求Solr Admin添加索引數據,Solr Admin后台會返回數據給你,Solr Admin后台返回的數據你拿什么輸出流來接收,默認是System.out即表示把后台返回的信息輸出打印到控制台


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM