Предположим, что у меня есть запись, которая выглядит следующим образом:Поиск всех полей вложенного объекта в ElasticSearch
{
"title": "Random title",
"authors": [
{
"first": "Jordan",
"last": "Reiter"
… more fields here …
},
{
"first": "Joe",
"last": "Schmoe"
… more fields here …
},
]
}
Я хотел бы, чтобы пользователи могли искать записи по автору, и если они входят в полный запрос Jordan Reiter это подтягивает эту запись (и другие, где по крайней мере один из авторов соответствует этим полям.
Я не хочу, чтобы пользователь указывал первое/последнее поле, и я не обязательно буду знать, являются ли они поиск Jordan Reiter
Reiter Jordan
или даже J Reiter
так идеально, что я хотел бы сопоставить все эти случаи, пока все еще фильтрует так что, например, ни одна из этих записей не совпадают:
{
"title": "About Jordan Reiter",
"authors": [
{
"first": "Susan",
"last": "Schmusan"
… more fields here …
}
]
}
{
"title": "Completely different authors",
"authors": [
{
"first": "Robert",
"last": "Jordan"
… more fields here …
},
{
"first": "Samuel",
"last": "Reiter"
… more fields here …
},
]
}
Просто начинал в ElasticSearch, так что если есть основное понятие я пропускаю, дайте мне знать.
Я планирую, что поле авторов будет вложенным типом.
Да, это будет сделано. Я не знал, что вы можете искать список полей. Однако я сделал это как вложенный запрос поиска. Адаптировано из ответа здесь: http://stackoverflow.com/a/17937816/255918 –