Something like:

....solr/collection/query?q=chris shultz&defType=edismax&qf=all^10 phonetic

The point of edismax is to take whatever the input is and distribute
it among one or more fields defined by the "qf" parameter.
In this case, it'll look for "chris" and "shultz" in both the "all"
and "phonetic" fields. It would boost matches in the "all" field by
10,
giving you an easy knob to tweak for "this field is more important
than this other one".

You can combine  "fielded" searches, something like:
....solr/collection/query?q=firstName:chris
shultz&defType=edismax&qf=all phonetic

would search for "shultz" in the "all" and "phonetic" fields while
searching for "chris" only in the "firstName" field.

As you have noticed, there are a _lot_ of knobs to tweak when it comes
to edismax, and the result of adding &debug=query to the URL can
be...bewildering. But edismax was created exactly to spread the input
out across multiple fields automatically.

You can also put these as defaults in your requesthandler in
solrconfig.xml. The "browse" handler in some of the examples will give
you a template, I'd copy/paste from the "browse" handler to you main
handler (usually "selsect"), as the "browse" handler is tied into the
Velocity templating engine....

To start, since there are a lot of parameters to tweak, I'd just start
with the "qf" field (plus some boosts perhaps). Then move on to pf,
pf2, pf3. mm will take a while to get your head around all by itself.
I think once you see the basic operation, then the rest of the
parameters will be easier to understand.

And I urge you to take it a little at a time, just use two fields and
two terms and look at the result of &debug=query, the parsed query
bits, 'cause each new thing you add adds a further complication.
Fortunately you can just put different parameters on the URL and see
the results for rapidly iterating.

Best,
Erick


On Mon, Mar 12, 2018 at 11:30 AM, Christopher Schultz
<ch...@christopherschultz.net> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Erick,
>
> On 3/12/18 1:36 PM, Erick Erickson wrote:
>> Did you try edismax?
>
> Err.... no, and I must admit that it's a lot to take in. Did you have
> a particular suggestion for how to use it?
>
> Thanks,
> - -chris
>
>> On Mon, Mar 12, 2018 at 10:20 AM, Christopher Schultz
>> <ch...@christopherschultz.net> wrote: All,
>>
>> I have a Solr index containing application user information
>> (username, first/last, etc.). I have created an "all" field for the
>> purpose of using it as a default. It contains most but not all
>> fields.
>>
>> I recently added phonetic searching for the first and last names
>> (together in a single field) but it will only work if the query
>> specifies that field like this:
>>
>> chris or phonetic:schultz
>>
>> Is there a way to add the phonetic field to the "all" field and
>> have it searched phonetically alongside the non-phonetic
>> fields/terms? I see I cannot have multiple "default fields" :)
>>
>> I know on the back-end I can construct a query like this:
>>
>> all:[query] phonetic:[query]
>>
>> ...but I'd prefer to do as little massaging of the query as
>> possible.
>>
>> Thanks, -chris
>>
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQJRBAEBCAA7FiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlqmxzEdHGNocmlzQGNo
> cmlzdG9waGVyc2NodWx0ei5uZXQACgkQHPApP6U8pFiejxAAwYVKaztnIESfGTik
> W2AVf1b/gOKp4WKzOK4Jg37Qjmguzfm2yPuD38gauP62ph5JPKeWjIAU4JHi/O8Y
> U5tWO2AuJBC/l7+t++vDTITP1iwFS1c7iXCpaMpZ16Ji3ScuKW5ZV2vMIioLXw6U
> 9BH5xtgh63D2JUyse89LzNVQULBENZx2uzAz7+q7ne7LYdWSR8949ry0EUOssVX+
> HEV1Be2QmmLUVHg1bSsTt678mrqV8EGm8Z1pf7WOBK6OJKA36iRTSxlyboShMP5D
> 5OnIfUoL+HxwIOnjevAmZU4zDZVllXdBme66xF/WT8+HP3NEWqBMDzcRlO8M1TPe
> yY9Y0By9cpkIXasm2uVYZzmUy5Hb+CcQOUXKLrvxqkE018+iey49pivr7ne2+W+B
> m0XF7qha4zPBT3onZNm2iDqNuMbVv1443aaAMNjh/E6RwsEgJ6PKSZjMKxM6QEdj
> 5Jy6dUGqhkQHgFfEa6srz1XHSbL5vwPyH3WQNv1pIRuvASbdfEinZPNmiPM36iMi
> itlO9HulZ80/It7aQR9llqt10bEK0vh7CzN7EzI6Yu+st1g/uVHeg8GMupNYd0u0
> /1t0NQafKjaf1UTO5ubLN/QiDSA1NYVNHkAczbnNzdHj0Z7sI5l2fkNWWxFzikQi
> RuYSZRH+EG4C2ey1f8vkxlrwIwE=
> =lb3e
> -----END PGP SIGNATURE-----

Reply via email to