Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 4

Lucene. По запросу выдаёт нерелевантные ответы

25.12.2021, 15:27. Показов 738. Ответов 0

Студворк — интернет-сервис помощи студентам
У меня на Java написаны индексирование и поиск по сайту с фильмами, данные о которых я беру из json файла. Проблема в том, что, если я делаю запрос "драма", то у меня выдаёт не только ответы с этим словом (хотя у меня очень много фильмов этого жанра), но и разные другие ответы, которые имеют слово отчасти похожее на "драма" (как на скрине). Почему у меня на запрос "драма" есть два нерелевантных ответа высоко в выдаче? Из-за чего это может быть. Как можно исправить/добавить в программе, чтобы выдавались более подходящие ответы на запрос (с жанром драма)? Может нужно реализовать ранжирование, чтобы сначала искалось в жанре?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class Search {
    private static final String INDEX_DIR = "C:\\Users\\vladp\\IdeaProjects\\Information Retrieval\\Index";
 
    public static void main(String[] args) throws IOException, ParseException {
        FSDirectory dir = new NIOFSDirectory(Paths.get(INDEX_DIR));
        IndexReader reader = DirectoryReader.open(dir);
        IndexSearcher searcher = new IndexSearcher(reader);
        CustomAnalyzer analyzer = CustomAnalyzer.builder()
                .withTokenizer("standard")
                .addTokenFilter("SnowballPorter", "language", "Russian")
                .addTokenFilter("lowercase")
                .addTokenFilter("stop")
                .addTokenFilter("porterstem")
                .addTokenFilter("capitalization")
                .build();
        Scanner scanner = new Scanner(System.in);
        String line = scanner.nextLine();
        QueryParser qp = new MultiFieldQueryParser(new String[]{
                "genres", "title", "year", "countries", "rate", "position"
        }, analyzer);
        Query lineQuery = qp.parse(line);
        TopDocs hits = searcher.search(lineQuery, 10);
        List<Document> list = new ArrayList<>();
        for (ScoreDoc score : hits.scoreDocs)
            list.add(searcher.doc(score.doc));
        int len = list.size();
        if (len != 0)
            for (int i = 0; i < len; i++)
                System.out.println(i + 1 + ") " +
                        list.get(i).get("position") + " | " +
                        list.get(i).get("title") + " | " +
                        list.get(i).get("genres") + " | " +
                        list.get(i).get("year") + " | " +
                        list.get(i).get("countries") + " | " +
                        list.get(i).get("rate") + " | " +
                        list.get(i).get("link"));
        else
            System.out.println("По данному запросу ничего не найдено");
    }
}
Миниатюры
Lucene. По запросу выдаёт нерелевантные ответы  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.12.2021, 15:27
Ответы с готовыми решениями:

Не выдает сайт по запросу
Доброго времени суток! Сегодня обнаружил, что в выдаче яндекса отсутствует сайт, который держался на второй-третьей позициях по...

Программа выдает разные ответы
Нужно было написать программу, прибавляющую единицу к введенному числу. Программа зациклена, т.е. по нажатии клавиши Enter очищается...

Программа по запросу выдает сведения о классе
В текстовом файле содержатся сведения о количестве учащихся в классах и их классных руководителях. Количество классов в школе не превышает...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2021, 15:27
Помогаю со студенческими работами здесь

PHP выдаёт неправильный результат по запросу из базы
Суть вопроса в следующем. Через PHP делаю запрос в базу, всегда выдаёт только один результат. Хотя при проверке в phpMyAdmin запрос выдаёт...

LogParser не выдает нужную информацию по sql запросу
Здравствуйте проблема вот в чем. Когда я пытаюсь получить данные используя sql запрос getCommand = &quot;-i:EVT -resolveSIDs ON...

Yandex по запросу выдает страницу для печати
В движке есть файл index2.php и когда находишь сайт по какому-нибудь запросу сайт отображается через него вот так...

По запросу мой компании выдает Яндекс картинки конкурента
Краткая предистроия. Обнаружил ворованый контент, не китсло так 50 фоток утащили. Они далили даже водную защиту. Дело к суду идет. ...

Яндекс выдает не ту страницу по ключевому запросу, что делать?
Доброго времени суток всем! Возникла такая задача. Есть страничка где перечислены просто список категорий- на него ведут две ссылки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru