Thanks Upayavira for that valuable suggestion. I believe overriding highlight component should be the way forward. Could you tell me if there is any existing example or which methods I should particularly override?
Thanks, Sandeep On 20 May 2013 12:47, Upayavira <u...@odoko.co.uk> wrote: > 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. > > > >