Yeah, your options (5) and (6) are.... well... definitely at the bottom of _my_ list, I understand you included them for completeness...
as for (4) Oh, my aching head. Parsers give me a headache ;) Yes, (1) is the easiest.(2) and (3) mostly depend on where you're most comfortable coding. If you intercept the query on the backend in Java _very_ early in the process you are working with essentially the same string as you would in JS on the front end so it's a tossup. You might just be more comfortable writing JS on the client rather than Java and getting it hooked in to Solr, really your choice. Best, Erick 2017-05-16 0:59 GMT-07:00 Peemöller, Björn <bjoern.peemoel...@berenberg.de>: > Hi all, > > thank you for your replies! > > We do not directly expose the Solr API, but provide an endpoint in our > backend which acts as a proxy for a specific search handler. One requirement > in our application is to search for people using various properties, e.g., > first name, last name, description, date of birth. For simplicity reasons, we > want to provide only a single search input and allow the user to narrow down > its results using the query syntax, e.g. "firstname:John". > > Based on your suggestions, I can see the following solutions for our problem: > > 1) Train the users to denote fieldnames in lowercase - they need to know the > exact field names anyway. > 2) Modify (i.e., lowercase) the search term in the backend (Java) > 3) Modify (i.e., lowercase) the search term in the frontend (JS) > 4) Modify the Solr query parser (provide a customized implementation) > 5) Define *a lot* of field aliases > 6) Define *a lot* of copy fields > > I assess these solutions to be ordered in decreasing quality, so I think that > we will start to improve with more user guidance. > > Thanks to all, > Björn > > -----Ursprüngliche Nachricht----- > Von: Rick Leir [mailto:rl...@leirtech.com] > Gesendet: Montag, 15. Mai 2017 18:33 > An: solr-user@lucene.apache.org > Betreff: Re: Configure query parser to handle field name case-insensitive > > Björn > Yes, at query time you could downcase the names. Not in Solr, but in the > front-end web app you have in front of Solr. It needs to be a bit smart, so > it can downcase the field names but not the query terms. > > I assume you do not expose Solr directly to the web. > > This downcasing might be easier to do in Javascript in the browser. > Particularly if the user never has to enter a field name. > > Another solution, this time inside Solr, is to provide copyfields for ID, Id, > and maybe iD. And for other fields that you mention in queries. This will > consume some memory, particularly for saved fields, so I hesitate to even > suggest it. Cheers - Rick > > > On May 15, 2017 9:16:59 AM EDT, "Peemöller, Björn" > <bjoern.peemoel...@berenberg.de> wrote: >>Hi Rick, >> >>thank you for your reply! I really meant field *names*, since our >>values are already processed by a lower case filter (both index and >>query). However, our users are confused because they can search for >>"id:1" but not for "ID:1". Furthermore, we employ the EDisMax query >>parser, so then even get no error message. >> >>Therefore, I thought it may be sufficient to map all field names to >>lower case at the query level so that I do not have to introduce >>additional fields. >> >>Regards, >>Björn >> >>-----Ursprüngliche Nachricht----- >>Von: Rick Leir [mailto:rl...@leirtech.com] >>Gesendet: Montag, 15. Mai 2017 13:48 >>An: solr-user@lucene.apache.org >>Betreff: Re: Configure query parser to handle field name >>case-insensitive >> >>Björn >>Field names or values? I assume values. Your analysis chain in >>schema.xml probably downcases chars, if not then that could be your >>problem. >> >>Field _name_? Then you might have to copyfield the field to a new field >>with the desired case. Avoid doing that if you can. Cheers -- Rick >> >>On May 15, 2017 5:48:09 AM EDT, "Peemöller, Björn" >><bjoern.peemoel...@berenberg.de> wrote: >>>Hi all, >>> >>>I'm fairly new at using Solr and I need to configure our instance to >>>accept field names in both uppercase and lowercase (they are defined >>as >>>lowercase in our configuration). Is there a simple way to achieve >>this? >>> >>>Thanks in advance, >>>Björn >>> >>>Björn Peemöller >>>IT & IT Operations >>> >>>BERENBERG >>>Joh. Berenberg, Gossler & Co. KG >>>Neuer Jungfernstieg 20 >>>20354 Hamburg >>> >>>Telefon +49 40 350 60-8548 >>>Telefax +49 40 350 60-900 >>>E-Mail >>>bjoern.peemoel...@berenberg.de<mailto:bjoern.peemoel...@berenberg.de> >>>www.berenberg.de<http://www.berenberg.de/> >>> >>>Sitz: Hamburg - Amtsgericht Hamburg HRA 42659 >>> >>> >>>Diese Nachricht einschliesslich etwa beigefuegter Anhaenge ist >>>vertraulich und kann dem Bank- und Datengeheimnis unterliegen oder >>>sonst rechtlich geschuetzte Daten und Informationen enthalten. Wenn >>Sie >>>nicht der richtige Adressat sind oder diese Nachricht irrtuemlich >>>erhalten haben, informieren Sie bitte sofort den Absender über die >>>Antwortfunktion. Anschliessend moechten Sie bitte diese Nachricht >>>einschliesslich etwa beigefuegter Anhaenge unverzueglich vollstaendig >>>loeschen. Das unerlaubte Kopieren oder Speichern dieser Nachricht >>>und/oder der ihr etwa beigefuegten Anhaenge sowie die unbefugte >>>Weitergabe der darin enthaltenen Daten und Informationen sind nicht >>>gestattet. Wir weisen darauf hin, dass rechtsverbindliche Erklaerungen >> >>>namens unseres Hauses grundsaetzlich der Unterschriften zweier >>>ausreichend bevollmaechtigter Vertreter unseres Hauses beduerfen. Wir >>>verschicken daher keine rechtsverbindlichen Erklaerungen per E-Mail an >> >>>Dritte. Demgemaess nehmen wir per E-Mail auch keine >>rechtsverbindlichen >>>Erklaerungen oder Auftraege von Dritten entgegen. >>>Sollten Sie Schwierigkeiten beim Oeffnen dieser E-Mail haben, wenden >>>Sie sich bitte an den Absender oder an i...@berenberg.de. Please refer >> >>>to http://www.berenberg.de/my_berenberg/disclaimer_e.html for our >>>confidentiality notice. >> >>-- >>Sorry for being brief. Alternate email is rickleir at yahoo dot com >> >>Diese Nachricht einschliesslich etwa beigefuegter Anhaenge ist >>vertraulich und kann dem Bank- und Datengeheimnis unterliegen oder >>sonst rechtlich geschuetzte Daten und Informationen enthalten. Wenn Sie >>nicht der richtige Adressat sind oder diese Nachricht irrtuemlich >>erhalten haben, informieren Sie bitte sofort den Absender über die >>Antwortfunktion. Anschliessend moechten Sie bitte diese Nachricht >>einschliesslich etwa beigefuegter Anhaenge unverzueglich vollstaendig >>loeschen. Das unerlaubte Kopieren oder Speichern dieser Nachricht >>und/oder der ihr etwa beigefuegten Anhaenge sowie die unbefugte >>Weitergabe der darin enthaltenen Daten und Informationen sind nicht >>gestattet. Wir weisen darauf hin, dass rechtsverbindliche Erklaerungen >>namens unseres Hauses grundsaetzlich der Unterschriften zweier >>ausreichend bevollmaechtigter Vertreter unseres Hauses beduerfen. Wir >>verschicken daher keine rechtsverbindlichen Erklaerungen per E-Mail an >>Dritte. Demgemaess nehmen wir per E-Mail auch keine rechtsverbindlichen >>Erklaerungen oder Auftraege von Dritten entgegen. >>Sollten Sie Schwierigkeiten beim Oeffnen dieser E-Mail haben, wenden >>Sie sich bitte an den Absender oder an i...@berenberg.de. Please refer >>to http://www.berenberg.de/my_berenberg/disclaimer_e.html for our >>confidentiality notice. > > -- > Sorry for being brief. Alternate email is rickleir at yahoo dot com > > Diese Nachricht einschliesslich etwa beigefuegter Anhaenge ist vertraulich > und kann dem Bank- und Datengeheimnis unterliegen oder sonst rechtlich > geschuetzte Daten und Informationen enthalten. Wenn Sie nicht der richtige > Adressat sind oder diese Nachricht irrtuemlich erhalten haben, informieren > Sie bitte sofort den Absender über die Antwortfunktion. Anschliessend > moechten Sie bitte diese Nachricht einschliesslich etwa beigefuegter Anhaenge > unverzueglich vollstaendig loeschen. Das unerlaubte Kopieren oder Speichern > dieser Nachricht und/oder der ihr etwa beigefuegten Anhaenge sowie die > unbefugte Weitergabe der darin enthaltenen Daten und Informationen sind nicht > gestattet. Wir weisen darauf hin, dass rechtsverbindliche Erklaerungen namens > unseres Hauses grundsaetzlich der Unterschriften zweier ausreichend > bevollmaechtigter Vertreter unseres Hauses beduerfen. Wir verschicken daher > keine rechtsverbindlichen Erklaerungen per E-Mail an Dritte. Demgemaess > nehmen wir per E-Mail auch keine rechtsverbindlichen Erklaerungen oder > Auftraege von Dritten entgegen. > Sollten Sie Schwierigkeiten beim Oeffnen dieser E-Mail haben, wenden Sie sich > bitte an den Absender oder an i...@berenberg.de. Please refer to > http://www.berenberg.de/my_berenberg/disclaimer_e.html for our > confidentiality notice. >