Объяснение Xodarap хорошо, просто добавлю еще:
Лучший способ думать о полях в lucene - это то, что у каждого есть свой собственный миниатюрный инвертированный индекс, но идентификаторы документов выровнены / параллельны, так что вы можете выполнять дизъюнкты / конъюнкции в разных полях.
При добавлении большого количества полей следует соблюдать осторожность: по умолчанию в каждом поле загружен байт [maxdoc] в оперативной памяти, используемый для нормализации длины. Так что со многими документами и множеством полей, все с включенной нормализацией длины, это может занять некоторое место.
Рассмотрение нормализации длины варианта использования, вероятно, не очень полезно для таких полей, как firstName / LastName, так что вы можете захотеть пропуститьNorms () в этих коротких полях.