Я пытаюсь реализовать пользовательскую формулу оценки в Lucene, которая не имеет ничего общего с tf-idf (поэтому изменение только подобия, например, не будет работать).
Чтобы сделать это, мне нужно иметь возможность взять свой собственный запрос и сгенерировать оценку для каждого документа, хранящегося в индексе, а не только для тех, которые соответствуют условиям в запросе (поскольку моя оценка включает в себяпроверка того, что по сути является синонимами, поэтому, даже если у документа нет точных Условий, он все равно может дать положительный результат).Является ли лучший способ просто создать IndexReader и вызвать Document d = reader.doc(i)
для всех документов (как описано здесь ), а затем создать счет на месте?
Я искал вокругпри подсчете внутренних баллов Lucene, в частности, различных классов Scorer и Collector, и кажется, что то, что происходит (для Lucene 3.2), представляет собой Weight, предоставляет Scorer, который вместе с Collector просматривает все документы, соответствующие запросу.Могу ли я использовать эту структуру каким-то образом, но снова получить пользовательскую реализацию Scorer для учета ВСЕХ документов?