Suchen in Stringlisten

LimDul

Top Contributor
Vielleicht hat jemand eine Idee, wie man folgende Anforderung möglichst einfach und idealerweise ohne zu große externe Bibliotheken umsetzen kann.

Gegeben ist eine (große) Liste von Strings (ca. 30.000) die jeweils aus ein oder mehreren Wörtern bestehen. Beispiel: "Frisör", "mobile Massage". Diese Liste ist nicht in einer Datenbank gespeichert, sondern wird zur Laufzeit aus einer anderen Quelle geladen.

In dieser Liste soll nun gesucht werden, in dem der Anwender in ein Suchfeld einen oder mehrere Begriffe eingibt. Nun hätte ich gerne:

* Phonetische Suche
* Wenn mehrere Begriffe eingeben werden, werden die mit ODER verknüpft, wobei aber Ergebnisse wo beide Begriffe vorkommen, oben stehen
* Idealerweise auch die Möglichkeit mitttels "Wort1 Wort2" nach exakten Worten zu suchen.

Halt so alles, was man von einer guten Suchengine erwartet. Nur hab ich halt keine Datenbank drunter und würde auch ungerne mir eine Monsterabhängigkeit ins Projekt holen.

Gibt es da was schlankes?
 

Phash

Top Contributor
die Apache Commons String Utils bieten an, die JaroWinkler Distanz auszurechnen

Java:
//Usage of Apache Commons Lang 3
import org.apache.commons.lang3.StringUtils;   
public double compareStrings(String stringA, String stringB) {
    return StringUtils.getJaroWinklerDistance(stringA, stringB);
}

damit hast du dann den "Abstand" der beiden eingegebenen Worte.
Die Verkettung kannst du selbst leicht implementieren

Damit hast du es quasi ohne große Fremdbibliotheken geschafft ... du musst nur mit dem Abstand etwas experimentieren und halt alle Worte durchgehen... 30000 ist jetzt aber auch keine so krasse Zahl, dass man das nicht in verträglicher Zeit auf aktueller Hardware ohne Optimierung parsen kann
 

LimDul

Top Contributor
Danke schon mal für den Input. Apache Commons hab ich auch das ein oder andere schon gesehen (und die Commons sind bei uns eh als Abhängigkeit drin)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Methoden Farbe auf Screenshot suchen Allgemeine Java-Themen 2
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
J Suchen von einer Scannereingabe in einem HashSet Allgemeine Java-Themen 1
ralfb1105 Blöcke aus Datei filtern/suchen und in neue Datei schreiben Allgemeine Java-Themen 10
K Bild in einem anderen Bild suchen Allgemeine Java-Themen 12
I Text suchen und ersetzen im Word Dokument Allgemeine Java-Themen 3
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Collections Tupel suchen Allgemeine Java-Themen 20
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
C Zeilen-"Vektor" aus Excel-Tabelle suchen Allgemeine Java-Themen 0
I Muster in Array suchen Allgemeine Java-Themen 10
K Auf einer Website nach einem String suchen Allgemeine Java-Themen 5
thet1983 nach teilen eines Dateinamens suchen Allgemeine Java-Themen 6
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
M lucene suchen/löschen/hinzufügen Allgemeine Java-Themen 4
W Sortierte Listen - Methode suchen Allgemeine Java-Themen 17
Iron Monkey Mit Regex nach Beträge suchen Allgemeine Java-Themen 4
R In einem Byte-Array nach einer gewissen Zahlenfolge suchen Allgemeine Java-Themen 7
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
E nach dem Ordner suchen, wo .jar datei sich befindet Allgemeine Java-Themen 17
E Objekte in einer Liste suchen. Allgemeine Java-Themen 4
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
S Nach Fehler und schlechtem Programmierstiel suchen: Allgemeine Java-Themen 5
V Über Java in einem Forum einloggen/ suchen? Allgemeine Java-Themen 10
M Suchen und Ersetzen? Allgemeine Java-Themen 4
G bestimmte Files suchen Allgemeine Java-Themen 2
ARadauer Fenster suchen und Verschieben Allgemeine Java-Themen 6
G Wort am Bildschirm -- Koordinaten suchen Allgemeine Java-Themen 2
M Sonderzeichen in String suchen Allgemeine Java-Themen 4
G Suchen und Ersetzen bei JTextAray Allgemeine Java-Themen 3
D in class-Dateien nach variablen suchen! Allgemeine Java-Themen 5
P JTable suchen in einer Spalte Allgemeine Java-Themen 24
N Methodenverwendung in Quelltext oder Class-Objekt suchen? Allgemeine Java-Themen 14
V String in String suchen mit Wildcard? Allgemeine Java-Themen 8
V Lib für Strings suchen und ersetzen (erweitert) Allgemeine Java-Themen 3
M String aus array mit Objekten suchen Allgemeine Java-Themen 26
G Nach Ordners suchen? Allgemeine Java-Themen 8
E in Pfad suchen Allgemeine Java-Themen 5
R Datum in *.txt suchen und ersetzen Allgemeine Java-Themen 2
C File suchen Allgemeine Java-Themen 3
D File suchen Allgemeine Java-Themen 4
C 5000-6000 Dateien nach Textblocken suchen Allgemeine Java-Themen 22
N Dateien mit einer bestimmten Erweiterung suchen Allgemeine Java-Themen 9
V Suchen in grosser Datei (100+ MB) Allgemeine Java-Themen 16
T Nach Programmen suchen Allgemeine Java-Themen 4
W nach String mit Doppelcharactern suchen Allgemeine Java-Themen 8
C Wie kann man im InputStream nach einer Zeichenkette suchen? Allgemeine Java-Themen 4
G in Jtree suchen Allgemeine Java-Themen 2
F mit getResourceAsStream () Datei im Classpath suchen Allgemeine Java-Themen 15
R Windows-XP-Suchfunktion: Nach Text in Java-Dateien suchen Allgemeine Java-Themen 9
M Dateien suchen und finden Allgemeine Java-Themen 6
N Suchen in InputStream/ByteArrayOutputStream Allgemeine Java-Themen 11

Ähnliche Java Themen

Neue Themen


Oben