2013-07-28 51 views
1

我是Elasticsearch的新手,我試圖用一些測試來啓動,但是在使用法語分析器和停用詞語時遇到了一個問題。這是我已經建立了索引:Elasticsearch外語停用詞

test1: { 

    state: open 
    settings: { 
     index.analysis.analyzer.french.tokenizer: standard 
     index.analysis.filter.stop_fr.stopwords.0: _french_ 
     index.analysis.filter.stop_fr.type: stop 
     index.analysis.analyzer.french.filter.1: stop_fr 
     index.analysis.analyzer.french.filter.0: lowercase 
     index.analysis.analyzer.french.type: custom 
     index.number_of_shards: 5 
     index.number_of_replicas: 1 
     index.version.created: 900299 
    } 

然而,當我運行從ES頭,法國停用詞仍然得到通過,而英語停用詞(的,一個,等「測試儀」工具)不是。任何有識之士將不勝感激。謝謝!

回答

1

您還應該更改索引映射設置。

通過default_analyzer自動分析索引,這當然會刪除英文不動詞。示例映射有兩個類型的信息contenttime

"testindex": { 
    "testtype": { 
     "search_analyzer": "test_analyzer", // <-- search_analyzer 
     "properties": { 
     "content": { 
      "type": "string", 
      "store": true, 
      "analyzer": "test_analyzer" // <-- index_analyzer 
     }, 
     "time": { 
      "type": "date", 
      "store": true, 
      "format": "dateOptionalTime" 
     } 
     } 
    } 
    } 
+1

實際上頂層'search_analyzer'是用於'_all'字段。字段特定的'analyzer'爲該字段設置了'index_analyzer'和'search_analyzer'(字段特定查詢)。你也可以指定一個頂級'index_analyzer'(用於'_all'字段)。 – ramseykhalaf