2013-02-26 65 views
12

我有一個使用elasticsearch-jetty項目的嵌入式elasticsearch,我需要設置比標準默認值更好的標記器。我想使用關鍵字標記器。如何在elasticsearch中設置標記器

我無法弄清楚我的生活如何通過配置文件來做到這一點。任何人都可以通過配置文件指向我嗎?

另一方面,是否可以通過對索引進行POST來調整索引,同時啓動並運行索引?我真的很想了解如何使用它,謝謝。

編輯/更新:我運行curl -XPUT或-XPOST到localhost:9200時遇到問題,嘗試調整一些示例/論壇中的設置我在搜索時看到的幫助這裏,我得到'No handler for uri []和method [PUT]/[POST]的結果。編輯2:更新,做一個索引的XPUT工作,但我得到一個關於「索引已經存在」的錯誤。我知道它存在,我想更新它。

回答

24

您可以在配置文件中定義映射,但在大多數情況下,通過API配置更容易/更靈活。例如,該命令將關鍵字/小寫分析儀添加到索引test

$ curl -XPUT localhost:9200/testindex/ -d ' 
{ 
    "settings":{ 
    "index":{ 
     "analysis":{ 
      "analyzer":{ 
       "analyzer_keyword":{ 
       "tokenizer":"keyword", 
       "filter":"lowercase" 
       } 
      } 
     } 
    } 
    }, 
    "mappings":{ 
    "test":{ 
     "properties":{ 
      "title":{ 
       "analyzer":"analyzer_keyword", 
       "type":"string" 
      } 
     } 
    } 
    } 
}' 
+1

感謝您的回覆。我試圖爲當前存在的索引做一個XPUT,並且得到了關於已經存在的索引的錯誤。你能幫我理解嗎?是否可以編輯現有的索引? – cdietschrun 2013-02-26 01:30:08

+1

如果已經創建了索引,則可以使用PUT映射API來更改映射:http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html。 但請注意,創建屬性後,您無法更改其映射。如果您需要更改屬性,則必須使用新映射創建新索引 – Zach 2013-02-26 01:37:14

0

要更新現有的索引,使用

$ curl -XPUT localhost:9200/testindex/_settings -d ' 
{ 
.......... 
} 

然而,你不能更新非動態設置。

相關問題