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.
0
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()
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.