Re: Проблемы с морфологией

2,556 views
Skip to first unread message

Igor Motov

unread,
Nov 1, 2013, 9:50:14 AM11/1/13
to elastics...@googlegroups.com
Главная проблема в том, что вы этот анализатор присвоили полям "content" и "title", а ищите вы по полю "_all" (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-all-field.html), у которого установлен анализатор по умолчанию ("standard"). Вторая проблема в фильтре ru_stemming. Фильтр russian_morphology стемминг уже выполняет, ставить после него еще один стеммер не имеет никакого смысла.


2013/11/1 svartalf <se...@svartalf.info>
У меня есть куча записей с несколькими полями русского текста, загруженных в elasticsearch. Проблема в том, что морфология работает не очень здорово, например по запросу «торфяник» (http://127.0.0.1:9200/search/news/_search?q=торфяник) возвращается одна запись, а по запросу «торфяники» (http://127.0.0.1:9200/search/news/_search?q=торфяники) — две.

Плагин русской морфологии загружается:

[2013-11-01 16:42:36,255][INFO ][node                     ] [Armageddon] version[0.90.5], pid[26917], build[c8714e8/2013-09-17T12:50:20Z]
[2013-11-01 16:42:36,255][INFO ][node                     ] [Armageddon] initializing ...
[2013-11-01 16:42:36,264][INFO ][plugins                  ] [Armageddon] loaded [analysis-morphology], sites []
[2013-11-01 16:42:37,586][INFO ][node                     ] [Armageddon] initialized
[2013-11-01 16:42:37,586][INFO ][node                     ] [Armageddon] starting ...


{
  • search
    {
    • settings
      {
      • index.analysis.analyzer.ru.tokenizer"standard",
      • index.analysis.analyzer.ru.type"custom",
      • index.analysis.filter.ru_stopwords.stopwords:"… очень много стоп-слов …",
      • index.analysis.analyzer.ru.filter.0"lowercase",
      • index.analysis.analyzer.ru.filter.3"ru_stopwords",
      • index.analysis.filter.ru_stemming.language"Russian",
      • index.analysis.analyzer.ru.filter.4"ru_stemming",
      • index.analysis.analyzer.ru.filter.1"russian_morphology",
      • index.analysis.analyzer.ru.filter.2"english_morphology",
      • index.analysis.filter.ru_stopwords.type"stop",
      • index.analysis.filter.ru_stemming.type"snowball",
      • index.number_of_shards"5",
      • index.number_of_replicas"1",
      • index.version.created"900599"
      }
    }
}


{
  • news
    {
    • properties
      {
      • content
        {
        • type"string",
        • boost0.5,
        • storetrue,
        • analyzer"ru"
        },
      • title
        {
        • type"string",
        • storetrue,
        • analyzer"ru"
        },
      }
    }
}

В чем может быть проблема?

--
Вы получили это сообщение, поскольку подписаны на группу elasticsearch-ru.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес elasticsearch-...@googlegroups.com.
Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу elastics...@googlegroups.com.
Перейдите в группу по ссылке http://groups.google.com/group/elasticsearch-ru.
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages