English_morphology


(Lightsuner) #1

Я использую:

  1. elasticsearch - 1.4.4
  2. плагин elasticsearch-analysis-morphology - 1.2.0

Я создал свой анализатор, в котором использую "english_morphology" в качестве токен-фильтра.

Проблема:
В elasticsearch добавили запись с текстом "Some text with t char", пробую искать текст с абривеатурой "lng" и elasticsearch выдает мне запись содержащую текст "Some text with t char"

Скрипт для воспроизведения:

#!/bin/sh
curl -XDELETE 'http://localhost:9200/records' && echo
curl -XPUT 'http://localhost:9200/records' -d '{
    "settings": {
        "analysis": {
            "analyzer": {
              "test_analizer": {
                "type": "custom",
                "tokenizer": "standard",
                "filter": ["english_morphology"]
              }
            }
        }
    }
}' && echo
curl -XPUT 'http://localhost:9200/records/record/_mapping' -d '{
    "record": {
        "_all" : {},
        "properties": {
            "text": {
                "analyzer": "test_analizer",
                "type": "string"
            }
        }
    }
}' && echo

curl -XPUT 'http://localhost:9200/records/record/1' -d '{"text": "Some text with t char"}' && echo
curl -XPOST 'http://localhost:9200/records/_refresh' && echo
curl -XPOST 'http://localhost:9200/records/_search?pretty' -d '{
    "query": {
        "filtered": {
            "query": {
                "query_string": {
                    "default_field": "text",
                    "query": "lng"
                }
            },
            "filter": {},
            "strategy": "leap_frog_filter_first"
        }
    },
        "highlight": {
            "pre_tags": ["<em>"],
            "post_tags": ["</em>"],
            "fields": {"text": {}}
        }
}'

(Lightsuner) #2

Нашел в чем проблема, в оригинальном репозитории ее исправили, фикс можно взять оттуда https://github.com/AKuznetsov/russianmorphology/commit/13232282128d34a81b5a48d1b98bc62b9c5e48ce


(Igor Motov) #3

Спасибо за PR. Я выпустил новую версию с этим исправлением для elasticsearch 1.6 https://github.com/imotov/elasticsearch-analysis-morphology


(system) #4