天天看點

通過Http管理Solr Core,實作索引的分類檢視所有core的狀态 檢視某一個core的狀态建立core  重新開機core 重命名core交換兩個存在core合并索引索引的分離Split解除安裝某一個core

使用的版本為solr 4.9

     使用樣例    

     http://172.168.63.233:8983/solr/admin/cores?action=status

      http://172.168.63.233:8983/solr/admin/cores?action=status&core=collection3 

     需要提供corename、執行個體路徑、config配置、schema檔案及資料目錄 ,

     其中instancedir必須要. config, schema & datadir 可選

       http://172.168.63.233:8983/solr/admin/cores?action=create&name=core4&instancedir=/home/solr/solrhome/core4/&config=solrconfig.xml&schema=schema.xml&datadir=data 

    http://172.168.63.233:8983/solr/admin/cores?action=create&name=core4&instancedir=/home/solr/solrhome/core5 

     需要預先建立instancedir指定的目錄,并複制其他core的conf到此目錄 

    solr4.3 支援兩個可選的參數   

    loadonstartup=[true|false] - 決定當solr啟動或者等待當第一次引用是是否需要載入core. 

    transient=[true|false] - 決定當一些瞬時的core超出了瞬時core的緩存大小時是否需要自動的解除安裝,可以指定在core标簽中 

    http://172.168.63.233:8983/solr/admin/cores?action=reload&core=collection2 

    當solrconfig.xml或者schema.xml檔案改變(新增字段、預設參數改變等)需要重新加載,但不要停止或者重新開機整個servlet容器的時候使用。

    http://172.168.63.233:8983/solr/admin/cores?action=rename&core=core4&other=core44 

    在存在的兩個core上使用交換指令,主要使用者将新core放在"ondeck中",将原來的core友善你執行roll-back等操作 

    http://172.168.63.233:8983/solr/admin/cores?action=swap&core=core1&other=core0 

    http://172.168.63.233:8983/solr/admin/cores?action=mergeindexes&core=core0&srccore=core1&srccore=core2 

    上面指令是将core1和core2的索引合并到core0中,其中資料路徑定義在admin/solr.xml中 

    note 

         1.在執行這條指令之前,必須確定在core1和core2上調用了commit操作(保證關閉indexwriter)同時在core1和core2之間沒有任何的在操作完成之前沒有任何的寫操作。 

        2.不能合并太多的索引會導緻core0的索引會崩潰,另外一旦索引完成要確定搜尋在 core0上進行搜尋 

        3.如果不存在core0,也不會建立新的core0。是以,必須保證core0必須存在同時能夠相容core1和core2, 

    另外,在solr3.3以後, coreadminhandler 同樣至此傳遞路徑的core方案.  在之前的版本中通過indexdir指定 

http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core0&indexdir=/opt/solr/core1/data/index&indexdir=/opt/solr/core2/data/index 

    從 solr4.3 後将索引分離兩個或多個索引,它接受下面的參數   

    "core" - 該core下的索引将要被拆分  

    "path" - 分拆到多個索引的位置參數 

    "targetcore" - 目标core,必須存在指定合并的位置 

    注意path和tartgetcore必須指定其中一個,兩個都指定不是必須的 

    http://localhost:8983/solr/admin/cores?action=split&core=core0&targetcore=core1&targetcore=core2  

    http://localhost:8983/solr/admin/cores?action=split&core=core0&path=/path/to/index/1&path=/path/to/index/2   

    這個指令通常作為solrcloud分離shard集合的api,同時也可以在非solrcloud-solr下使用,當使用了非cloud core這樣原索引将分離成等量的多個索引文檔 

    http://172.168.63.233:8983/solr/admin/cores?action=unload&core=collection1 

    http://172.168.63.233:8983/solr/admin/cores?action=unload&core=collection2&deleteindex=true 

    deleteindex 主要使用于删除解除安裝的core的索引 

    deletedatadir 删除資料及子檔案  

    deleteinstancedir 删除執行個體目錄,删除所有與這個core相關的檔案比如索引檔案、配置檔案等,注意這裡也有一個bug在你需要指定絕對路徑才能做到 

繼續閱讀