Wyszukiwanie z bazy danych *java, spring*

0

Hej stworzyłem mały projekt który polega na dodawaniu samochodów i wyświetlaniu ich na stronie głównej. Konstruuje wyszukiwarkę która ma za zadanie szukać po wszystkich możliwych atrybutach takich jak: marka, model, typPaliwa, kolor, rok produkcji itd, ale to daleka droga. Jak na razie udało mi się stworzyć wyszukiwarkę która szuka tylko po marce. No i po marce działa. Teraz chciałbym szukać po większej ilości cech a nie tylko po marce. Problem w tym, że już wyczerpałem wszystkie możliwe pomysły realizacji tego zadania i zwracam się z pytaniem tutaj czy jest ktoś kto naświetli drogę co robie źle albo co powinienem zrobić? Chciałbym szukać nie tylko po marce ale też po modelu kolorze itd.Zrzut ekranu 2018-11-28 o 21.58.40.png

1

Musiałbyś wrzucić swój kod żeby jakoś sensownie pomóc. Na tę chwilę co mógłbym pomóc to poczytaj sobie o ElasticSearch. Trochę zabawy na początku możesz mieć ale generalnie efekt uzyskasz.
Jeśli chcesz to zrobić na razie bardzo prosto to zrób sobie to korzystając ze streamów i filtrowania na podstawie predykatów. W takim uproszczeniu byłoby coś takiego:

        String phrase = "mercedes"; // what are you looking for
        Predicate<CarDto> filteringDescription = car -> car.getDescription().contains(phrase);
        Predicate<CarDto> filteringBrand = car -> car.getBrand().contains(phrase);
        Predicate<CarDto> filteringTitle = car -> car.getTitle().contains(phrase);

        List<CarDto> content = repository.getAll();
        List<CarDto> filteredCars = content.stream()
                .filter(filteringDescription)
                .filter(filteringBrand)
                .filter(filteringTitle)
                .collect(Collectors.toList()

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0