I can't give you much advice on the topic. I have reviewed the HighlightComponent and found it complex and hard to follow, so expect it to be challenging.
Upayavira On Mon, May 20, 2013, at 01:28 PM, Sandeep Mestry wrote: > 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. > > > > > >