Как провести деликатный и нечувствительный поиск по полю - PullRequest
0 голосов
/ 04 октября 2018

Когда я использую фильтр в нижнем регистре, как это, я могу нечувствительно искать регистр в поле foo, но я не могу чувствительно регистрировать поиск в поле foo.В моем случае мне нужно решить, какой из них нечувствительно или деликатно искать в поле foo в зависимости от ситуации.

{
  "settings": {
    "analysis": {
      "normalizer": {
        "lowercase_keyword": {
          "type": "custom",
          "filter": [
            "lowercase"
          ]
        }
      }
    }
  },
  "mappings": {
    "annotation_type": {
      "properties": {
        "foo": {
          "type": "keyword"
          "normalizer": "lowercase_keyword"
        }
      }
    }
  }
}

1 Ответ

0 голосов
/ 04 октября 2018

Идея состоит в том, чтобы использовать два поля keyword, например:

  "mappings": {
    "annotation_type": {
      "properties": {
        "foo": {
          "type": "keyword",
          "fields": {
            "insensitive": {
              "type": "keyword",
              "normalizer": "lowercase_keyword"
            }
          }
        }
      }
    }
  }

Затем вы можете использовать foo для поиска с учетом регистра и foo.insensitive для поиска с учетом регистра.бесчувственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...