Я хочу использовать одно поле для индексации заголовка и тела документа, чтобы повысить производительность.
Идея заключалась в том, чтобы сделать что-то вроде этого:
Field title = new Field("text", "alpha bravo charlie", Field.Store.NO, Field.Index.ANALYZED);
title.setBoost(3)
Field body = new Field("text", "delta echo foxtrot", Field.Store.NO, Field.Index.ANALYZED);
Document doc = new Document();
doc.add(title);
doc.add(body);
И тогда я мог бы просто сделать один TermQuery
вместо BooleanQuery
для двух отдельных полей.
Однако, оказывается, что усиление поля является кратным всего усиления полей с одинаковым именем в документе.В моем случае это означает, что оба поля имеют увеличение 3.
Есть ли способ получить то, что я хочу, не прибегая к использованию двух разных полей?Одним из способов является добавление поля title
к документу несколько раз, что увеличивает частоту использования термина.Это работает, но кажется невероятно мёртвым.
Я также знаю о полезных нагрузках , но это похоже на излишество того, чего я добиваюсь.
Есть идеи?