- После обновления Lucene с 4,6 до 8 возникают проблемы в процессе поиска.
- Мы создаем 5 разных папок для индексации с разными идентификаторами индекса (5 папок из 5 разных таблиц). В процессе поиска мы объединяем все эти данные для отображения. После обновления мы сталкиваемся с проблемами в данных поиска.
- Когда мы применяем фильтр для разных полей из разных index_id. Он ищет только одно поле.
- Я вижу разницу в запросе на присоединение.
JoinUtil.createJoinQuery(fromField, false, toField, Query, srch, ScoreMode.None);
Query formation with different versions:
Lucene 4.6.0:
TermsQuery{field=case.id}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter) Lucene 8.0.0:
TermsQuery{field=case.idfromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter is also visible.)
Пожалуйста, предложите мне, поскольку новичок в Lucene не может его предсказать.
- Я обнаружил изменения в JoinUtil.createJoinQuery в Lucene-join.jar между двумя версиями.
- Формирование запроса отличается в обеих версиях.
Запросформирование с разными версиями:
Lucene 4.6.0:
TermsQuery{field=case.id}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter) Lucene 8.0.0:
TermsQuery{field=case.idfromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter is also visible.)
JoinUtil.createJoinQuery(fromField, false, toField, Query, srch, ScoreMode.None);
после запуска Lucene Query следует применить фильтр для разных полей (данные находятся в разных папках).