Есть несколько подходов, основанных на том, что вы пытаетесь достичь.
- Вы можете смоделировать ваши данные, чтобы вы хранить индексированные значения для автора типа книги, и, возможно, ссылки на этот автор.
- В противном случае вы должны иметь возможность запрашивать 2 типа, однако вы не можете указать, какое значение нужно искать в каком типе. Они бы технически были 2 отдельными запросами, и вам придется смешать результаты 2 сами, если это то, что вы желаете.
Можно выполнить поиск как при условии, что книга не имеет атрибута «имя», а у автора нет атрибута «title». Если вы ищете поле, которое не существует, elasticsearch все еще будет пытаться, учитывая, что данные в модели не имеют схемы, а сопоставление просто определяет, как индексировать поля, но не обязательно определяет структуру документов.
Если вы пытаетесь сделать один поиск как для книги, так и для автора, я бы рекомендовал сделать 2 отдельных запроса, так как вы получите два отдельных типа документов, которые, возможно, потребуется обработать соответственно.
Это должно быть принято ответ! – Bald