Вы можете получить длину поля из TermVector
экземпляров, связанных с полями документов, но это увеличит размер вашего индекса.Это, вероятно, путь, если вы не можете позволить себе больший индекс.Конечно, вам все равно нужно будет самостоятельно рассчитать среднее значение и сохранить его в другом месте (или, возможно, в специальном документе с известным внешним идентификатором, который вы просто обновляете при изменении статистики).
Если вы можете сохранитьданные вне индекса, одна вещь, которую вы можете сделать, это подсчитать токены, когда документы токенизированы, и сохранить их для усреднения.Если ваша коллекция документов статическая, просто скопируйте значения для каждого поля в файл и обработайте после индексации.Если индекс необходимо обновлять только с помощью дополнений, вы можете сохранить количество документов и среднюю длину для каждого поля и пересчитать среднее значение.Если документы будут удалены, и вам нужен точный подсчет, вам нужно будет повторно проанализировать удаляемый документ, чтобы узнать, сколько терминов содержит каждое поле, или получить длину из TermVector
, если вы используете это.