Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, ich hoffe ich bin hier richtig und mir kann jemand helfen.

Also mein Problem: Ich hab eine Webanwengung in der was eingegeben werden kann z.B. text1-1234-text2, momentan ist es so das genau der richtige Begriff eingegeben werden muss, sonst wird kein Ergebnis ausgegeben. Jetzt würd ich gerne das man z.B. %-1234-text2 eingeben kann und man trotzdem auf das richtige Ergebnis kommt, falls man die den genauen Begriff nicht mehr weiß.

Der größte Teil dieses Programms wurde in Java geschrieben, nur die Webseiten in jsp.

Wie könnte so ein Code aussehen?

Ich muss dazu sagen das ich das Programm übernommen hab und warten muss, ich selbst bin ein ziemlich Neuling auf diesen Gebiert und hab keine Ahnung wie man das machen muss.

Kann mir jemand helfen???

Geschrieben

Erstmals danke für die Antwort.

Aber ich bin mir nicht sicher ob regex mein Problem löst. Hab mir die Doku ein bisschen angesehen und so wie ich es verstanden hab, muss man schon zirka wissen was der fehlende Teil ist.

Vielleicht hab ich mich falsch ausgedrück.

Also ich hab eine Suchmaske, da geb ich text1-1234-text2 ein (das ist eine Bestimmte ID in der Datenbank) und jetzt will ich z.B. nach "Platzhalter"-1234-text2 suchen, das Programm soll jetzt den fehlenden Teil (den ich ja nicht kenne) ersetzen und mir das richtige Ergebnis liefern.

Ausgegeben wird dann der Name und Nachname von dieser ID.

Vielleicht ist regex auch das richtige, keine Ahnung, wie schon erwähnt ich hab null Ahnung :hells:

Geschrieben

Hi,

das ist ein Fall für Volltextindizierung. Ansonsten wirst Du sehr schnell in Performanceprobleme laufen. Einfach einen WHERE spalte LIKE ... abzusetzen gepaart mit einer größeren Anzahl von Usern ist der einfachste Weg eine Datenbank in die Knie zu zwingen.

Dim

Geschrieben
Hi,

das ist ein Fall für Volltextindizierung. Ansonsten wirst Du sehr schnell in Performanceprobleme laufen. Einfach einen WHERE spalte LIKE ... abzusetzen gepaart mit einer größeren Anzahl von Usern ist der einfachste Weg eine Datenbank in die Knie zu zwingen.

Dim

Macht das in dem Fall einen Unterschied?

Also so wie ich den Threadersteller verstanden habe will er aus einer Zeile in der IDs stehen alle rausfiltern die zum Beispiel mit "-1234-text2" enden. AFAIK bringt die Volltextsuche nur Vorteile wenn man Spalten hat in denen sich sehr viel Text befindet der durchsucht werden müsste...

Geschrieben
Erstmals danke für die Antwort.

Aber ich bin mir nicht sicher ob regex mein Problem löst. Hab mir die Doku ein bisschen angesehen und so wie ich es verstanden hab, muss man schon zirka wissen was der fehlende Teil ist.

Vielleicht hab ich mich falsch ausgedrück.

Also ich hab eine Suchmaske, da geb ich text1-1234-text2 ein (das ist eine Bestimmte ID in der Datenbank) und jetzt will ich z.B. nach "Platzhalter"-1234-text2 suchen, das Programm soll jetzt den fehlenden Teil (den ich ja nicht kenne) ersetzen und mir das richtige Ergebnis liefern.

Ausgegeben wird dann der Name und Nachname von dieser ID.

Vielleicht ist regex auch das richtige, keine Ahnung, wie schon erwähnt ich hab null Ahnung :hells:

Für den Fall, dass du keine DB zugrunde liegen hast bzw. es Java-seitig lösen musst/willst, kannst du einfach mit den String methoden:

startsWith, endsWith und indexOf arbeiten.

startsWith und endsWith geben dir booleans zurück (sind denke ich selbsterklärend)

indexOf gibt dir den index zurück an dem die Zeichenfolge gefunden wurde, bzw -1 falls die Zeichenfolge nicht vorkommt (es genügt dir also auf -1 zu prüfen)

Geschrieben
Macht das in dem Fall einen Unterschied?

Natürlich. Hier nochmal die Anforderung des OP:

Jetzt würd ich gerne das man z.B. %-1234-text2 eingeben kann

% am Anfang bedeutet, dass die Abfrage nicht über einen normalen B-Tree Index laufen wird ist, sprich Full Table Scan.

Dim

Geschrieben

Wie könnte so ein Code aussehen?

Wenn die Daten in einer DB liegen, kannst Du zuerst die von der DB angebotenen Möglichkeiten ausprobieren. Für andere Suchverfahren, müsstest Du die zu durchsuchenden Daten gegebenfalls in einer eigenen Datenbank bzw. Datenstruktur verwalten.

Es gibt verschiedene Algorithmen zum Durchsuchen von Texten nach Teilstrings. Möchtest Du nur Teilstrings, Suffixe oder Prefixe finden, oder soll es später auch noch auf eine Suche ausgeweitet werden, bei der auch mal Buchstaben vertauscht, hinzugefügt oder fehlen dürfen? Wie groß ist die zu durchsuchende Datenbank und wie viele Anfragen werden in welchem Zeitraum erwartet?

Dies sind alles Fragen, die Du klären musst.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...