solr_4.5.0_05:通過 post.jar 向 Core 中添加索引

在這裏主要以 xml 文件的形式,通過 post.jar 向 Core 中添加索引。

一、創建 Core : 這裏我將創建一個 Core 命名爲 myCore

二、瞭解 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):

  -Dc=<core/collection>
  -Durl=<base Solr update URL> (overrides -Dc option if specified)
  -Ddata=files|web|args|stdin (default=files)
  -Dtype=<content-type> (default=application/xml)
  -Dhost=<host> (default: localhost)
  -Dport=<port> (default: 8983)
  -Dauto=yes|no (default=no)
  -Drecursive=yes|no|<depth> (default=0)
  -Ddelay=<seconds> (default=0 for files, 10 for web)
  -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)
  -Dparams="<key>=<value>[&<key>=<value>...]" (values must be URL-encoded)
  -Dcommit=yes|no (default=yes)
  -Doptimize=yes|no (default=no)
  -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即表示把後臺返回的信息輸出打印到控制檯

三、向 myCore 中添加索引。

1)將 D:\zsolrwork\solr4.5.0\example\exampledocs 文件夾下的文件拷貝到  D:\zsolrwork\data 文件夾下(這一步可以省略,可以在命令行窗口中直接操作 D:\zsolrwork\solr4.5.0\example\exampledocs)

2)打開 cmd 命令行窗口,進入到 D:\zsolrwork\data 文件夾

3)執行下面命令:

java -Durl=http://localhost:8080/solr/myCore/update -jar post.jar *.xml



在此感謝博主的文章  跟益達學Solr5之玩轉post.jar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章