Статическое отображение, находящее многократные местоположения - PullRequest
0 голосов
/ 01 ноября 2019

Я явно создаю сопоставление с помощью чего-то вроде следующего:

PUT field1
 {
  "mappings": {
    "def": {
      "dynamic": false,
      "_all": {
        "enabled": true
      },
      "_source": {
        "enabled": true
      },
      "date_detection": false,
      "numeric_detection": false,
      "properties": {
        "field1": {
          "type": "keyword",
          "store": true,
          "ignore_above": 8191
        }
      }
    }
  }
}

Я помещаю объект, подобный следующему:

POST field1/def
{ "field1":["blah"],
  "inner.field1":["blah3"]
}

Когда я выполняю поиск с помощью элемента «Storage_fields»":" * "Я вижу следующее поле:

{
        "_index": "field1",
        "_type": "def",
        "_id": "AW4n1Ro-7hYlm0zsHjiV",
        "_score": 1,
        "_source": {
          "field1": [
            "blah"
          ],
          "inner.field1": [
            "blah3"
          ]
        },
        "fields": {
          "field1": [
            "blah",
            "blah3"
          ]
        }
      }

Итак, похоже, что мое сопоставление" field1 "совпадает с обоими" field1 "И" inner.field1 ", что не то, что я ожидал. Мне было очень трудно найти документацию о том, как сопоставление работает / должно работать, чтобы я мог правильно создать свое сопоставление.

Любое объяснение и ссылка на документацию приветствуются.

ОБНОВЛЕНИЕ: вышеупомянутое поведение происходит, только если поля являются массивами. Я обновил ниже, чтобы показать это.

Интересно, что ОБА значения должны быть массивами, чтобы их можно было объединить в сохраненном поле.

ТАКЖЕ, этоasticsearch 5.6 (который я застрялиз-за плагина).

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