Вы можете объединить несколько запросов, используя BooleanQuery, и иметь Occur.Should (имеется в виду ИЛИ). Я также считаю, что в таком сценарии вы можете повысить конкретные запросы, что означает, что соответствие в определенном поле имеет более высокую релевантность, чем, например, контент.
Пример (C #):
var query = new BooleanQuery();
query.Add(new TermQuery("author", searchTerm), Occur.Should);
query.Add(new TermQuery("book title", searchTerm), OCcur.Should);