rowe42 / lhm_animad_admin_html5

0 stars 6 forks source link

Liste: Wildcards für Suche #262

Closed ejcsid closed 6 years ago

rowe42 commented 6 years ago

Ich habe mir das angesehen. Offenbar muss man in Methode QueryServiceChanged.createSingleQuery für die Standard-Suche (z.B. dam*) in der Zeile query = queryBuilder.keyword().onFields(properties).matching(term).createQuery(); den Befehl wildcard() wie folgt ergänzen: query = queryBuilder.keyword().wildcard().onFields(properties).matching(term).createQuery();

Problematischer ist allerdings die Zeile query = queryBuilder.phrase().onField(termValues[0]).sentence(termValues[1]).createQuery(); die wir für "labeled searches" (z.B. Vorname:Hans) verwenden. Man könnte diese natürlich auch so umformulieren: query = queryBuilder.keyword().wildcard().onField(termValues[0]).matching(termValues[1]).createQuery(); (also die Phrase-Search auf eine Keyword-Search umstellen), so dass man z.B. nachname:dam* suchen könnte.

Was dann aber nicht mehr geht ist, nach Einträgen mit mehren Wörtern zu suchen, z.B. nachname:"van der Damme" Hintergrund ist, dass Phrase-Searches keine Wildcards zulassen: https://stackoverflow.com/questions/14238104/hibernate-search-wildcard-phrase-query

Ich halte aber die Wildcard-Search für wichtiger als die Suche nach mehreren Worten. Mein Vorschlag:

Damit funktioniert folgendes NICHT:

Wir können überlegen, ob wir die Slop-Search noch setzen wollen, z.B. auf 1 oder 2, damit ginge dann auch

Ich behaupte, dass jemand der weiß, dass er nach einer Person mit dem Nachnamen "van der Damme" sucht, den vollen Namen kennt und die Wildcards nicht braucht. Sollte sich der Nutzer dann doch nicht sicher sein, kann er ja einfach nach nachname:dam* suchen oder - etwas ungenauer aber womöglich sogar praktikabler - ohne Label mit van damm* oder sogar damm* der van.

rowe42 commented 6 years ago

@ejcsid @Dr-Thomas-Tensi @Baumfrosch

rowe42 commented 6 years ago

P.S.: Habe meinen Vorschlag in den Branch _#244 eingecheckt, da könnt ihr es ausprobieren.

rowe42 commented 6 years ago

Jetzt in master. Schließe das Issue.