Эластичный поиск покажет правильные данные только после пробела - PullRequest
0 голосов
/ 19 октября 2018

Я сопоставляю свой индекс эластичности, используя следующий шаблон сопоставления.

PUT _template/template_1
{
    "index_patterns": [
      "ubq-*"
    ],
    "settings": {
      "index": {
        "analysis": {

          "analyzer": {
            "my_analyzer": {
              "filter": [
                "lowercase"


              ],
              "type": "custom",
              "tokenizer": "keyword",
              "remove_trailing": "false"
            }
          }
        },
        "number_of_shards": "1"
      }
    },
    "mappings": {
      "doc": {
        "properties": {
          "Index": {
            "type": "float",
            "index": "true"
          },
          "Category": {
            "type": "keyword",
            "index": "true"
          },
          "Scat": {
            "type": "keyword",
            "index": "true"
          },
          "Sscat": {
            "type": "keyword",
            "index": "true"
          },
          "Products": {
            "type": "text",
            "index": "true",
            "analyzer": "my_analyzer"
          },
          "Measure": {
            "type": "keyword",
            "index": "true"

          },
          "Price": {
            "type": "float",
            "index": "true"
          },
          "Description": {
            "type": "keyword",
            "index": "true"

          },
          "Gst": {
            "type": "float",
            "index": "true"
          },
          "Url": {
            "type": "keyword",
            "index": "true"

          }
        }
      }
    },
    "aliases": {}
  }

Когда я выполняю поиск по моему индексу, я получаю случайные результаты.

enter image description here

Но, когда я даю пробел после условия поиска, я получаю ожидаемые результаты.

enter image description here

1) Как я могуисправить это так, чтобы я получал правильные результаты без пробела?

2) Если я даю случайный ввод, эластик по-прежнему выбирает некоторые данные, Как я могу убедиться, что эластик не получает никаких данных, если это не так?найден в индексе?

...