Здравствуйте! Подскажите, пожалуйста, почему не отрабатывает keyword_marker фильтр при использовании russian_morphology в Django-проекте. Elasticsearch 2.4.6
Выдержки из файла настроек:
self.DEFAULT_SETTINGS['settings']['analysis']['filter']['russian_words'] = {
"type": "keyword_marker",
"keywords": ["кошки"]
}
self.DEFAULT_SETTINGS['settings']['analysis']['filter']['russian_stemmer'] = {
"type": "stemmer",
"language": "russian"
}
И различные комбинации фильтров и результатов, которые они выдают:
"filter": [ "lowercase", "russian_stemmer", "english_morphology"]
curl -X GET "localhost:9200/haystack/_analyze/?pretty" -d'
{
"field": "text",
"text": "кошки"
}
'
{
"tokens" : [ {
"token" : "кошк",
"start_offset" : 0,
"end_offset" : 5,
"type" : "",
"position" : 0
} ]
}
"filter": [ "lowercase", "russian_words", "russian_stemmer", "english_morphology"]
curl -X GET "localhost:9200/haystack/_analyze/?pretty" -d'
{
"field": "text",
"text": "кошки"
}
'
{
"tokens" : [ {
"token" : "кошки",
"start_offset" : 0,
"end_offset" : 5,
"type" : "",
"position" : 0
} ]
}
"filter": [ "lowercase", "russian_morphology", "english_morphology"]
curl -X GET "localhost:9200/haystack/_analyze/?pretty" -d'
{
"field": "text",
"text": "кошки"
}
'
{
"tokens" : [ {
"token" : "кошка",
"start_offset" : 0,
"end_offset" : 5,
"type" : "",
"position" : 0
} ]
}
"filter": [ "lowercase", "russian_words", "russian_morphology", "english_morphology"]
curl -X GET "localhost:9200/haystack/_analyze/?pretty" -d'
{
"field": "text",
"text": "кошки"
}
'
{
"tokens" : [ {
"token" : "кошка",
"start_offset" : 0,
"end_offset" : 5,
"type" : "",
"position" : 0
} ]
}