Hmmm, Once the data is included in the catch-all, it's indistinguishable from
all the rest of the data, so I don't see how you could do this. A clause like:
-excludeField:[* TO *] would exclude all documents that had any data in
the field so that's probably not what you want.....

Could you approach it the other way? Do NOT put the special field in
the catch-all field in the first place, but massage the input to add
a clause there? I.e. your "usual" case would have
catchall:<all your terms> exclude_field:<all your terms>, but your
special one would just be catchall:<all your terms>.

You could set up request handlers to do this under the covers, so your
queries would really be
...solr/usual?q=<all your terms>
...solr/special?q=<all your terms>
and two different request handlers (edismax-style I'm thinking)
would differ only by the "qf" field containing or not containing
your special field.....

the other way, of course, would be to have a second catch-all
field that didn't have your special field, then use one or the other
depending, but as you say that would increase the size of your
index...

Best
Erick

On Wed, Jan 11, 2012 at 9:47 AM, elisabeth benoit
<elisaelisael...@gmail.com> wrote:
> Hello,
>
> I have a catchall field, and I need to do some request in all fields of
> that catchall field, minus one. To avoid duplicating my index, I'd like to
> know if there is a way to use my catch field while excluding that one field.
>
> Thanks,
> Elisabeth

Reply via email to