Как упоминалось в руководстве по миграции lucene, чтобы установить повышение уровня документа, мы должны умножить все поля на повышение, повысив значение. Вот мой код:Ошибка lucene в поле документа setBoost
StringField nameField = new StringField("name", name, Field.Store.YES) ;
StringField linkField = new StringField("link", link, Field.Store.YES);
Field descField;
TextField reviewsField = new TextField("reviews", reviews_str, Field.Store.YES);
TextField authorsField = new TextField("authors", authors_str, Field.Store.YES);
FloatField scoreField = new FloatField("score", origScore,Field.Store.YES);
if (desc != null) {
descField = new TextField("desc", desc, Field.Store.YES);
} else {
descField = new TextField("desc", "", Field.Store.YES);
}
doc.add(nameField);
doc.add(linkField);
doc.add(descField);
doc.add(reviewsField);
doc.add(authorsField);
doc.add(scoreField);
nameField.setBoost(score);
linkField.setBoost(score);
descField.setBoost(score);
reviewsField.setBoost(score);
authorsField.setBoost(score);
scoreField.setBoost(score);
, но я получил это исключение при запуске кода:
Exception in thread "main" java.lang.IllegalArgumentException: You cannot set an index-time boost on an unindexed field, or one that omits norms
Я искал Google. но у меня нет ответов. не могли бы вы мне помочь?
Я получил сообщение об ошибке, что это FieldType заморожен, и я не могу изменить его. –
@MohammadRazeghi Правильно, да, я поменял его на что-то, что на самом деле будет работать сейчас. – femtoRgon