проблема с поиском запроса Lucene из другого index_id (данные хранятся в разных папках) после обновления Lucene 4.6 до 8.0 - PullRequest
0 голосов
/ 30 октября 2019
  1. После обновления Lucene с 4,6 до 8 возникают проблемы в процессе поиска.
  2. Мы создаем 5 разных папок для индексации с разными идентификаторами индекса (5 папок из 5 разных таблиц). В процессе поиска мы объединяем все эти данные для отображения. После обновления мы сталкиваемся с проблемами в данных поиска.
  3. Когда мы применяем фильтр для разных полей из разных index_id. Он ищет только одно поле.
  4. Я вижу разницу в запросе на присоединение.
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 не может его предсказать.

  1. Я обнаружил изменения в JoinUtil.createJoinQuery в Lucene-join.jar между двумя версиями.
  2. Формирование запроса отличается в обеих версиях.

Запросформирование с разными версиями:

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 следует применить фильтр для разных полей (данные находятся в разных папках).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...