Pisze prostą wyszukiwarkę plików / zasobów na dysku. Znalazłem podobny temat procentowa zgodność tekstów
polecono tam wykorzystać Algorytm Levenshteina - wyszukałem, zapoznałem się, zaimplementowałem do swoich potrzeb, jednak wyniki jakie uzyskuje nie do końca mnie satysfakcjonują, podam przykład ::
pełna nazwa szukanego pliku na dysku ::
std::string source_base( "zaawansowane c++ wraz z bibliotekami boost" );
tekst podany w wyszukiwarce
std::string source_search( "c++ i boost" );
na wyjściu uzyskuje :: compatibility :: 27 %
problem w tym że każdy znak w tekście ma taką samą wagę i pomimo podania 2 słów można je nazwać kluczowymi ( c++, boost ) plik nie zostałby wyszukany z powodu zbyt małej zgodności dla której min ustawiłem na 75 %. Nie chciałbym zmniejszać dopuszczalnego min zgodności więc co mogę zrobić aby dodać mojej wyszukiwarce trochę "inteligencji" ;) ?
Wypróbowałem już opcje z podzieleniem szukanej frazy na części, wrzuceniem tego do std::vector i sprawdzaniu czy podane słowa / znaki występują w oryginale za pomocą std::string::find ale to też się nie sprawdziło...
mogę prosić o podrzucenie jakiegoś pomysłu, wskazówek?