Использование Lucene Query для проверки соответствия документа - PullRequest
2 голосов
/ 10 апреля 2019

Я использую запросы Lucene для проекта, подобного следующему:

Analyzer analyzer = new StandardAnalyzer();
QueryParser parser = new QueryParser("message", analyzer);
Query log = parser.parse("something OR name=mustafa");

Есть ли возможность использовать этот Query объект с каким-то видом Map или POJO, чтобы проверить, соответствует ли этот объект запросу? Я знаю, что это не предназначенное использование Lucene, и это работает на IndexSearcher, но это было бы полезно для меня.

Пример того, что я имею в виду:

Map<String,Object> a = {"message": "xx", "name": "mustafa"}
Map<String,Object> b = {"message": "xx", "name": "osman"}

SomeSearcher.matches(log, a) == true
SomeSearcher.matches(log, b) == false

1 Ответ

1 голос
/ 10 апреля 2019

На мой взгляд, вы можете использовать org.apache.lucene.store.RAMDirectory

Таким образом, ваше требование полностью выполнить тестирование из памяти удовлетворяется, а также потребуется гораздо меньше изменений для перехода к реализации диска после фазы POC.

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