Я написал следующий код в моем проекте:
final IndexSearcher indexSearcher = new IndexSearcher(INDEXING_DIRECTORY, true);
final Query query = new QueryParser(Version.LUCENE_33, "keywords", new StandardAnalyzer(Version.LUCENE_33)).parse("cats movies");
final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
indexSearcher.search(query, collector);
final ScoreDoc[] hits = collector.topDocs(0, 10).scoreDocs;
Задача очень тривиальная.
У меня, например, есть сохраненная запись с индексированным полем "ключевые слова".Например, ключевые слова могут быть похожи на «Тонны фильмов с забавными кошками».
Проблема в том, что мой код, приведенный выше, будет возвращать записи, если поисковый запрос будет "смешные кошки" (порядок слов, как в индексированном поле), но не будет работать в "фильмах кошек".Как мне написать свой запрос, чтобы он соответствовал любому порядку слов и, если возможно, осуществлял поиск похожих слов?