ElasticSearch - 使用词干分析器没有结果

时间:2017-07-19 20:24:27

标签: elasticsearch porter-stemmer

我有堵塞词的问题。 当我使用词干分析器时,单词不被索引,只有数字

我认为我的情况很糟糕,但我无法在互联网上找到解决方案,所以我希望你能帮助我

这是我的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"
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您有两种方法可以解决您的问题:

一个。您可以使用

在查询中指定stem分析器
params.put("analyzer", "stem");

B中。您可以在查询字符串中明确指定字段,以便在查询时使用正确的分析器,即您的query变量需要以字段名称为前缀:

query = "field:" + userQuery