Вы можете искать слова в определенном поле с синтаксисом двоеточия, например name:john
.
Но поскольку во многих индексах есть только одно поле, по которому вы хотите искать, существует значение по умолчанию.поле, в случае, если вы просто ищете john
.Вы можете указать, какое поле будет при создании экземпляра QueryParser
QueryParser parser = new QueryParser(Version.LUCENE_30, "name", anAnalyzer);
Query q = parser.parse("john");
Если вы хотите создавать свои запросы программно, а не анализировать строку запроса, введенную пользователем, вам также необходимо указать поле явно, дляпример:
Query q = new TermQuery(new Term("name", "john"));
Ссылки: Использование полей в запросах Lucene (синтаксис запроса Lucene) | QueryParser Javadoc | TermQuery Javadoc