Elasticsearch разбивается на дефисы, тире, пробелы

0

В настоящее время мои сопоставления elasticsearch установлены для анализа по умолчанию, и я хотел бы сохранить настройки таким образом. Однако я столкнулся с ситуациями, когда я пытаюсь запросить ABC-123 или ABC 123 или ABC 123-1, и он разбивает запрос elasticsearch.

Я работаю с модулем angularjs typeahead, используя: https://github.com/jeff-collins/ment.io

Проблема заключается в том, когда я запускаю свой запрос с помощью модуля typeahead всякий раз, когда я нажимаю пробел или дефис/тире, он разбивает раскрывающийся список typeahead.

Вот шаблон, который я установил

router.get('/tagging', function(req, res) {
  switch (req.query.type) {
    case 'asset_list':
      client.search({
        index: 'core',
        type: 'assets',
        body: {
          query : {
              wildcard: {
                name: '*' + req.query.name + '*'
            }
          },
          highlight: {
              fields : {
                  display_name : {}
              }
          }
        }
      }).then(results => res.send(results), err => res.send(err));
      break;
      .....
      .....
  • 0
    Несвязанный: Вы не хотите иметь подстановочный знак. Это сократит вашу производительность в масштабе (вы буквально просите его проверить каждый документ на соответствие, а не без подстановочных знаков, которые можно пропустить).
  • 0
    Связанный: Какое поле разрывается с пробелом? class_id или name ?
Показать ещё 1 комментарий
Теги:
elasticsearch

1 ответ

0
Лучший ответ

Похоже, что logstash справляется с этим.

https://www.elastic.co/blog/logstash-1-3-1-released

Ещё вопросы

Сообщество Overcoder
Наверх
Меню