If you are saying that you want to change highlighting behaviour, not
query behaviour, then I suspect you are going to have to interact with
the java HighlightComponent. If you can work out how to update that
component to behave as you wish, you could either subclass it, or create
your own implementation that you can include in your Solr setup. Or, if
you make it generic enough, offer it back as a contribution that can be
included in future Solr releases.

Upayavira

On Mon, May 20, 2013, at 12:14 PM, Sandeep Mestry wrote:
> I doubt if that will be the correct approach as it will be hard to
> generate
> the query grammar considering we have support for phrase, operator,
> wildcard and group queries.
> That's why I have kept it simple and only passing the query text with
> minimal parsing (escaping lucene special characters) to configured
> edismax.
> The number of fields I have mentioned above are a lot lesser than the
> actual number of fields - around 50 in number :-). So forming such a long
> query will both be time and resource consuming. Further, it's not going
> to
> fulfill my requirement anyway because I do not want to change my search
> results, the requirement is only to provide a highlight if a field is
> matched for all the query terms.
> 
> Thanks,
> Sandeep
> 
> 
> On 20 May 2013 12:02, Jaideep Dhok <jaideep.d...@inmobi.com> wrote:
> 
> > If you know all fields that need to be queried, you can rewrite it as -
> > (assuming, f1, f2 are the fields that you have to search)
> > (f1:kw1 AND f1:kw2 ... f1:kwn) OR (f2:kw1 AND f2:kw2 ... f2:kwn)
> >
> > -
> > Jaideep
> >
> >
> > On Mon, May 20, 2013 at 4:22 PM, Sandeep Mestry <sanmes...@gmail.com>
> > wrote:
> >
> > > Hi Jaideep,
> > >
> > > The edismax config I have posted mentioned that the default operator is
> > > AND. I am sorry if I was not clear in my previous mail, what I need
> > really
> > > is highlight a field when all search query terms present. The current
> > > highlighter works for *any* of the terms match and not for *all* terms
> > > match.
> > >
> > > Thanks,
> > > Sandeep
> > >
> > >
> > > On 20 May 2013 11:40, Jaideep Dhok <jaideep.d...@inmobi.com> wrote:
> > >
> > > > Sandeep,
> > > > If you AND all keywords, that should be OK?
> > > >
> > > > Thanks
> > > > Jaideep
> > > >
> > > >
> > > > On Mon, May 20, 2013 at 3:44 PM, Sandeep Mestry <sanmes...@gmail.com>
> > > > wrote:
> > > >
> > > > > Dear All,
> > > > >
> > > > > I have a requirement to highlight a field only when all keywords
> > > entered
> > > > > match. This also needs to support phrase, operator or wildcard
> > queries.
> > > > > I'm using Solr 4.0 with edismax because the search needs to be
> > carried
> > > > out
> > > > > on multiple fields.
> > > > > I know with highlighting feature I can configure a field to indicate
> > a
> > > > > match, however I do not find a setting to highlight only if all
> > > keywords
> > > > > match. That makes me think is that the right approach to take? Can
> > you
> > > > > please guide me in right direction?
> > > > >
> > > > > The edsimax config looks like below:
> > > > >
> > > > > <requestHandler name="assdismax" class="solr.SearchHandler">
> > > > > <lst name="defaults">
> > > > > <str name="defType">edismax</str>
> > > > > <str name="echoParams">explicit</str>
> > > > > <float name="tie">0.01</float>
> > > > > <str name="qf">title^10 description^5 annotations^3 notes^2
> > > > > categories</str>
> > > > > <str name="pf">title</str>
> > > > > <int name="ps">0</int>
> > > > > <str name="q.alt">*:*</str>
> > > > > <str name="fl">*,score</str>
> > > > > <str name="mm">100%</str>
> > > > > <str name="q.op">AND</str>
> > > > > <str name="sort">score desc</str>
> > > > > <str name="facet">true</str>
> > > > > <str name="facet.limit">-1</str>
> > > > > <str name="facet.mincount">1</str>
> > > > > <str name="facet.field">uniq_subtype_id</str>
> > > > > <str name="facet.field">component_type</str>
> > > > > <str name="facet.field">genre_type</str>
> > > > > </lst>
> > > > > <lst name="appends">
> > > > > <str name="fq">collection:assets</str>
> > > > > </lst>
> > > > > </requestHandler>
> > > > >
> > > > > If I search for 'countryside number 10' as the keyword then highlight
> > > > only
> > > > > if the 'annotations' contain all these entered search terms. Any
> > > document
> > > > > containing just one or two terms is not a match.
> > > > >
> > > > > Thanks,
> > > > > Sandeep
> > > > > (p.s: I haven't enabled the highlighting feature yet on this config
> > and
> > > > > will be doing so only if that will fulfil the requirement I have
> > > > mentioned
> > > > > above.)
> > > > >
> > > >
> > > > --
> > > > _____________________________________________________________
> > > > The information contained in this communication is intended solely for
> > > the
> > > > use of the individual or entity to whom it is addressed and others
> > > > authorized to receive it. It may contain confidential or legally
> > > privileged
> > > > information. If you are not the intended recipient you are hereby
> > > notified
> > > > that any disclosure, copying, distribution or taking any action in
> > > reliance
> > > > on the contents of this information is strictly prohibited and may be
> > > > unlawful. If you have received this communication in error, please
> > notify
> > > > us immediately by responding to this email and then delete it from your
> > > > system. The firm is neither liable for the proper and complete
> > > transmission
> > > > of the information contained in this communication nor for any delay in
> > > its
> > > > receipt.
> > > >
> > >
> >
> > --
> > _____________________________________________________________
> > The information contained in this communication is intended solely for the
> > use of the individual or entity to whom it is addressed and others
> > authorized to receive it. It may contain confidential or legally privileged
> > information. If you are not the intended recipient you are hereby notified
> > that any disclosure, copying, distribution or taking any action in reliance
> > on the contents of this information is strictly prohibited and may be
> > unlawful. If you have received this communication in error, please notify
> > us immediately by responding to this email and then delete it from your
> > system. The firm is neither liable for the proper and complete transmission
> > of the information contained in this communication nor for any delay in its
> > receipt.
> >

Reply via email to