Java REST Эластичный поиск: отображение вложенных полей с использованием com.fasterxml.jackson.databind.ObjectMapper - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть field, например, Object_IDs, который может иметь несколько Object_ID.Ниже приведен фрагмент кода:

"Object_IDs":{  
           "type":"nested",
           "properties":{  
              "Object_ID": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
             }

Я использую Elastic search 6.2.3 и использую com.fasterxml.jackson.databind.ObjectMapper для отображения объектов.

Я не могу создать nested field, используя com.fasterxml.jackson.databind.ObjectMapper.Вот фрагмент кода:

    ObjectNode nestedNode = objectMapper.createObjectNode();
    nestedNode.put("type", "nested");
    nestedNode.put("index", true);
    mapperNode.set("Object_IDs", nestedNode);

    ObjectNode setkeyWord = objectMapper.createObjectNode();
    setkeyWord.put("type", "keyword");
    setkeyWord.put("index", true);

    ObjectNode innerProperties = objectMapper.createObjectNode();
    innerProperties.set("Object_ID", setkeyWord);

    nestedNode.set("properties", innerProperties);

Но этот результат:

"mappings": {
            "archive": {
                "properties": {
                    "Object_IDs": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "Object_ID": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },

Пожалуйста, помогите мне в создании mapping для вложенного поля с использованием com.fasterxml.jackson.databind.ObjectMapper

1 Ответ

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

Я не знаю о com.fasterxml.jackson.databind.ObjectMapper.Но вы можете создать свой индекс, сопоставив поле Object_ID с вложенным типом, как показано ниже.

"Object_IDs":{  
       "type":"nested",
       "properties":{  
          "Object_ID": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        }
                    }
                }
            }
         }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...