2017-07-19 53 views
0

我有詞幹詞語的問題。 當我使用詞幹,詞不被索引,只有數字是ElasticSearch - 與詞幹分析器無結果

我覺得我的conf是壞的,但我無法找到互聯網解決方案,所以我希望你能幫助我

這裏是我的conf :

PUT /myindex 
{ 
    "settings": { 
     "analysis": { 
      "filter": { 
       "french_stop": { 
        "type": "stop", 
        "stopwords": "_french_" 
       }, 
       "french_stemmer": { 
        "type": "stemmer", 
        "language": "light_french" 
       } 
      }, 
      "analyzer": { 
       "stem": { 
        "tokenizer": "standard", 
        "filter": [ 
         "standard", 
         "lowercase", 
         "french_stop", 
         "french_stemmer", 
         "asciifolding" 
        ] 
       } 
      } 
     } 
    } 
} 
PUT /myindex/_mapping/mytype 
{ 
    "properties": { 
     "field": { 
      "type": "string", 
      "analyzer": "stem" 
     } 
    } 
} 
+0

你有樣品單詞或一組單詞來重現您的問題? – Val

+0

我索引「Vélos123」。沒有「Vélos」的結果,既不是「velo」,也不是「123」的結果 – hadf

+0

您使用什麼查詢? – Val

回答

0

有兩種方法來解決你的問題:

答:您可以指定stem分析儀在查詢中使用

params.put("analyzer", "stem"); 

B.您可以直接在您的查詢字符串指定字段,以便正確分析儀用於在查詢時,即你的query變量需要與字段名稱爲前綴:

query = "field:" + userQuery 
+0

謝謝你的建議。我已經添加了「分析器」參數。我無法指定字段,因爲我想在所有字段中搜索 – hadf

+0

'Constantes.ES_ANALYZER'的價值是什麼? – Val

+0

值是「幹」 – hadf