2016-08-11 1 views
1

Ниже приведен пример, который был вызван на страницах 2.3 и 1.7.Stempel Polish Analysis Plugin как плагин для Elasticsearch не работает

Сначала я установил плагин: https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-stempel.html#analysis-stempel

Далее мой шаг был проверить правильность установки плагина: результат на экране:

Installed plugins in /home/adam/Desktop/elasticsearch-2.3.0/plugins: 
- analysis-stempel 
- marvel-agent 
- license 

Далее я добавил отображение для блога:

curl -XPUT localhost:9200/my_index -d '{ 
"mappings": { 
    "blog": { 
     "properties": { 
     "title": { 
      "type": "string", 
      "fields": { 
      "polish": { 
       "type":  "string", 
       "analyzer": "polish" 
      } 
      } 
     } 
     } 
    } 
    } 
} 
' 

Затем я добавил документ:

curl -XPUT localhost:9200/my_index/blog/1 -d 
'{ "title": "Bardzo kocham zółwie"}' 

Когда я использовал:

curl -XGET localhost:9200/_search -d 
'{ 
    "query": { 
    "multi_match": { 
     "type":  "most_fields", 
     "query": "zółwie", 
     "fields": [ "title", "title.polish" ] 
    } 
    } 
} 
' 

Elasticsearch возвращает правильный результат, но если я ставлю:

curl -XGET localhost:9200/_search -d 
'{ 
    "query": { 
    "multi_match": { 
     "type":  "most_fields", 
     "query": "zolwie", 
     "fields": [ "title", "title.polish" ] 
    } 
    } 
}' 

Elasticsearch ничего не возвращает.

Проблема с польскими специальными символами.

ответ

0

Что необходимо для второго запроса: asciifolding token filter. Я хотел бы предложить следующее отображение, чтобы охватить большее число случаев использования:

{ 
    "settings": { 
    "analysis": { 
     "analyzer": { 
     "folding": { 
      "tokenizer": "standard", 
      "filter": [ 
      "lowercase", 
      "asciifolding" 
      ] 
     } 
     } 
    } 
    }, 
    "mappings": { 
    "blog": { 
     "properties": { 
     "title": { 
      "type": "string", 
      "fields": { 
      "folding": { 
       "type": "string", 
       "analyzer": "folding" 
      }, 
      "polish": { 
       "type": "string", 
       "analyzer": "polish" 
      } 
      } 
     } 
     } 
    } 
    } 
} 

И этот запрос:

{ 
    "query": { 
    "multi_match": { 
     "type": "most_fields", 
     "query": "zolwie", 
     "fields": [ 
     "title.*" 
     ] 
    } 
    } 
} 
Смежные вопросы