2013-04-14 189 views
2

我的目標是能夠搜索詞與周圍括號,例如:ElasticSearch映射Charfilter

(安迪)

從什麼,如果我做一個映射Charfilter我可以告訴,改變括號強調這將完成我所追求的。

"index" : { 
     "analysis" : { 
      "char_filter" : { 
       "my_mapping" : { 
        "type" : "mapping", 
        "mappings" : ["(=> _", ") => _"] 
       } 
      }, 
      "analyzer" : { 
       "custom_with_char_filter" : { 
        "tokenizer" : "standard", 
        "char_filter" : ["my_mapping"] 
       }, 
      } 
     } 
    } 
}'; 

當運行上述我得到以下錯誤:

{ 「錯誤」:「ElasticSearchParseException [無法解析源創建索引];嵌套:JsonParseException [意外字符( '}'(代碼125)):在[Source:[B @ 70de7f1b; line:15,column:14]];期待有效的名稱字符(用於未加引號的名稱)或雙引號(用於引用)來開始字段名稱\ n; ,「狀態」:400}

回答

4

仔細重讀錯誤消息。它有你需要的所有信息來弄清楚這一點。基本上,你在第14行有一個額外的逗號,所以解析器期望它後面跟着一個名字,而是在第15行第14列取得'}'。

+0

謝謝imotov。刪除額外的逗號確實解決了錯誤問題。但是現在我收到錯誤消息:「{」error「:」IndexAlreadyExistsException [[xenforo113] Already exists]「,」status「:400}」。在閱讀更多關於我想要做的事情時,我無法將此映射添加到現有索引。我想我需要刪除索引,創建一個新的分析器並重新編制索引。 –

+0

是的,您需要刪除索引並重新編制索引。 – imotov