2014年10月27日 星期一

Solr_03_新增、覆蓋、刪除索引


  • 使用curl 重新建立索引

    HTTP 協定:POST
    把<your core name> 替換成要更新的core名稱
    http://localhost:8983/solr/<your core name>/dataimport?command=full-import

    請注意該core的dataimport必需有相對應的建構資料,例如使用db建構。

  • 使用curl 更新索引

    HTTP 協定 : POST  
    Content-Type : application/json
    把<your core name> 替換成要更新的core名稱
    http://localhost:8983/solr/<your core name>/update/json?commit=true
    把要增加索引的資料完整匯入(application/json)
    [
     {
      "menu_id":99999, 
      "menu_name":"hello5678", 
      "menu_url":"http://test1.com"
     },
     {
      "menu_id":99998, 
      "menu_name":"hello9999", 
      "menu_url":"http://test2.com"
     }
    ]
  • 使用curl 刪除索引

    HTTP 協定 : POST  
    Content-Type : application/xml
    把<your core name> 替換成要更新的core名稱
     http://localhost:8983/solr/<your core name>/update?commit=true
    建立要刪除的索引
    <delete><query>menu_id:99999</query></delete>

  • Solr Core Documents (增加、覆蓋、刪除 索引)


    1. csv
      1. 當使用CSV文件類型,功能類似於使用requestHandler在命令行上。而不是文件的curl命令,
      2. 他們可以代替輸入到文件輸入框。
      3. 該文檔結構應該輸入正確的CSV格式,列分隔,每個文件一行。然後你可以選擇文件時應添加到索引(提交內),而具有相同ID的文件將被覆蓋(如果不正確,那麼傳入文件將被刪除)。
        id        , title
        change.me , change.me      

    2. Document Builder
      1. 文檔構建器提供了一個導覽式的界面,以輸入文檔的field。

    3. File Upload
      1. The File Upload option allows choosing a prepared file and uploading it. If using only /update for the
        Request-Handler option, you will be limited to XML, CSV, and JSON.
        However, to use the ExtractingRequestHandler (aka Solr Cell), you can modify the Request-Handler to /update/e
        xtract. You must have this defined in your solrconfig.xml file, with your desired defaults. You should also
        update the &literal.id shown in the Extracting Req. Handler Params so the file chosen is given a unique id.
        Then you can choose when documents should be added to the index (Commit Within), and whether existing
        documents should be overwritten with incoming documents with the same id (if this is not true, then the incoming
        documents will be dropped).
    4. Solr Command
      1. Solr指令選項可以使用XML或JSON進行對文件的特定操作,如定義要添加的文件或刪除,更新只有特定的文檔field,或提交和優化指令索引。
      2. The documents should be structured as they would be if using /update on the command line.
        <delete>
           <id>change.me</id>
        </delete>

    5. XML
      1. 當使用XML文檔類型,功能類似於使用requestHandler在命令行上。 而不是文件中的curl命令。
      2. 他們可以代替輸入到文件輸入框。
      3. 該文檔結構應該輸入正確的XML格式。
      4. 每個文件由<文件>標籤分離每個field定義。 當文件增加索引時你可以選擇他,當增加索引時具有相同ID的文件將被被覆蓋(如果不正確,那麼傳入文件將被刪除)
      5.  此操作只會增加或覆蓋文件的索引;其他更新任務,請參閱#Solr命令選項
        <doc>
           <field name="id">change.me</field>
           <field name="title">change.me</field>
        </doc>     

    6. JSON(同XML)  
      {
       "id":"change.me",
       "title":"change.me"
      }

沒有留言:

張貼留言