2014-01-10 4 views
1

С этого вопроса я могу видеть, что это возможно Use existing field as id in elasticsearchИспользование комбинированного поля как отображение идентификатора в ElasticSearch

Мой вопрос, если можно сделать нечто подобное, но конкатенации поля.

{ 
"RecordID": "a06b0000004SWbdAAG", 
"SystemModstamp": "01/31/2013T07:46:02.000Z", 
"body": "Test Body" 
} 

А потом что-то вроде

{ 
    "your_mapping" : { 
     "_id" : { 
      "path" : "RecordID" + "body" 
    } 
} 
} 

Так идентификатора автоматически сформированное из конкатенации этих полей.

ответ

2

Нет, вы не можете, вы можете сделать только точку _id в поле, которое находится внутри документа, с использованием точечной нотации, если необходимо (например, level1,level2.id).

Я бы предложил иметь поле, содержащее весь идентификатор в ваших документах, или даже лучше удалить id и предоставить его в URL-адресе, поскольку настройка пути заставляет документ анализироваться, когда это не нужно.

Смежные вопросы