Результат поиска был связан с полем в Hibernate Search - PullRequest
1 голос
/ 14 декабря 2009

У меня есть поиск в спящем режиме, который выполняет поиск по множеству полей объекта. Можно ли узнать, какие поля соответствуют результатам для каждого объекта результата?

1 Ответ

4 голосов
/ 15 декабря 2009

Не из коробки. Некоторую информацию о том, какие поля совпадают, можно извлечь из объекта объяснения Lucene, который можно получить с помощью проекции в Hibernate Search. Проблема в том, что этот объект предназначен для визуального контроля результатов поиска, а не в качестве программного интерфейса. Вы можете проанализировать вывод строки, но формат может измениться в более поздних версиях Lucene.

Другим вариантом будет итерация соответствующих документов и попытка вручную (например, с помощью регулярных выражений) выяснить, какие поля совпадают. Это также довольно сложно, так как в зависимости от вашего запроса Lucene может быть довольно сложно найти регулярное выражение.

Все сводится к вашему конкретному случаю использования. Для чего вам нужна эта информация? Может быть, есть альтернативное решение.

...