OK.  Thanks Tricia , Jack & Yonik for your suggestions and time.

Regards,
Tony.


On Fri, Jul 5, 2013 at 1:20 AM, P Williams
<williams.tricia.l...@gmail.com>wrote:

> Hi Tony,
>
> Have you seen the
> TermVectorComponent<http://wiki.apache.org/solr/TermVectorComponent>?
>  It will return the TermVectors for the documents in your result set (note
> that the rows parameter matters if you want results for the whole set, the
> default is 10).  TermVectors also must be stored for each field that you
> want term frequency returned for.  Suppose you have the query
> http://localhost:8983/solr/collection1/tvrh?q=cable&fl=includes&tv.tf=trueon
> the example that comes packaged with Solr.  Then part of the response is:
>
> <lst name="termVectors">
> <str name="uniqueKeyFieldName">id</str>
> <lst name="IW-02">
> <str name="uniqueKey">IW-02</str>
> </lst>
> <lst name="9885A004">
> <str name="uniqueKey">9885A004</str>
> <lst name="includes">
> <lst name="32mb">
> <int name="tf">1</int>
> </lst>
> <lst name="av">
> <int name="tf">1</int>
> </lst>
> <lst name="battery">
> <int name="tf">1</int>
> </lst>
> <lst name="cable">
> <int name="tf">2</int>
> </lst>
> <lst name="card">
> <int name="tf">1</int>
> </lst>
> <lst name="sd">
> <int name="tf">1</int>
> </lst>
> <lst name="usb">
> <int name="tf">1</int>
> </lst>
> </lst>
> </lst>
> <lst name="3007WFP">
> <str name="uniqueKey">3007WFP</str>
> <lst name="includes">
> <lst name="cable">
> <int name="tf">1</int>
> </lst>
> <lst name="usb">
> <int name="tf">1</int>
> </lst>
> </lst>
> </lst>
> <lst name="MA147LL/A">
> <str name="uniqueKey">MA147LL/A</str>
> <lst name="includes">
> <lst name="cable">
> <int name="tf">1</int>
> </lst>
> <lst name="earbud">
> <int name="tf">1</int>
> </lst>
> <lst name="headphones">
> <int name="tf">1</int>
> </lst>
> <lst name="usb">
> <int name="tf">1</int>
> </lst>
> </lst>
> </lst>
> </lst>
>
> Then you can use an XPath query like
> sum(//lst[@name='cable']/int[@name='tf']) where 'cable' was the term, to
> calculate the term frequency in the 'includes' field for the whole result
> set.  You could extend this to get the term frequency across all fields for
> your result set with some alterations to the query and schema.xml
> configuration.  Alternately you could get the response as json (wt=json)
> and use javascript to sum. I know this is not terribly efficient but, if
> I'm understanding your request correctly, it's possible.
>
> Cheers,
> Tricia
>
>
> On Thu, Jul 4, 2013 at 10:24 AM, Tony Mullins <tonymullins...@gmail.com
> >wrote:
>
> > So what is the workaround for this problem ?
> > Can it be done without changing any source code ?
> >
> > Thanks,
> > Tony
> >
> >
> > On Thu, Jul 4, 2013 at 8:01 PM, Yonik Seeley <yo...@lucidworks.com>
> wrote:
> >
> > > Ah, sorry - I thought you were after docfreq, not termfreq.
> > > -Yonik
> > > http://lucidworks.com
> > >
> > > On Thu, Jul 4, 2013 at 10:57 AM, Tony Mullins <
> tonymullins...@gmail.com>
> > > wrote:
> > > > Hi Yonik,
> > > >
> > > > With facet it didn't work.
> > > >
> > > > Please see the result set doc below
> > > >
> > > >
> > >
> >
> http://localhost:8080/solr/collection2/select?fl=*,amazing_freq:termfreq%28product,%27amazing%27%29,spider_freq:termfreq%28product,%27spider%27%29&fq=id%3A27&q=spider&fl=*&df=product&wt=xml&indent=true&facet=true&facet.query=product:spider&facet.query=product:amazing&rows=20
> > > >
> > > > <doc>
> > > >  <str name="id">27</str>
> > > >  <str name="type">Movies</str>
> > > >   <str name="format">dvd</str>
> > > >   <str name="product">The amazing spider man is amazing spider the
> > > > spider</str>
> > > >   <int name="popularity">1</int>
> > > >   <long name="_version_">1439641369145507840</long>
> > > >
> > > >   <int name="amazing_freq">2</int>
> > > >   <int name="spider_freq">3</int>
> > > >   </doc>
> > > >   </result><lst name="facet_counts"><lst name="facet_queries">
> > > >   <int name="product:spider">1</int>
> > > >    <int name="product:amazing">1</int>
> > > > </lst>
> > > >
> > > > As you can see facet is actually just returning the no. of docs found
> > > > against those keywrods not the actual frequency.
> > > > Actual frequency is returned by the field 'amazing_freq' &
> > 'spider_freq'
> > > !
> > > >
> > > > So is there any workaround for this to get the total of
> term-frequency
> > in
> > > > resultset without any modification to Solr source code ?
> > > >
> > > >
> > > > Thanks,
> > > > Tony
> > > >
> > > >
> > > > On Thu, Jul 4, 2013 at 7:05 PM, Yonik Seeley <yo...@lucidworks.com>
> > > wrote:
> > > >
> > > >> If you just want to retrieve those counts, this seems like simple
> > > faceting.
> > > >>
> > > >> q=something
> > > >> facet=true
> > > >> facet.query=product:hunger
> > > >> facet.query=product:games
> > > >>
> > > >> -Yonik
> > > >> http://lucidworks.com
> > > >>
> > > >> On Thu, Jul 4, 2013 at 9:45 AM, Tony Mullins <
> > tonymullins...@gmail.com>
> > > >> wrote:
> > > >> > Hi ,
> > > >> >
> > > >> > I have lots of crawled data, indexed in my Solr (4.3.0) and lets
> say
> > > user
> > > >> > creates a search criteria 'X1' and he/she wants to know the
> > occurrence
> > > >> of a
> > > >> > specific term in the result set of that 'X1' search criteria.
> > > >> > And then again he/she creates another search criteria 'X2' and
> > he/she
> > > >> wants
> > > >> > to know the occurrence of that same term in the result set of that
> > > 'X2'
> > > >> > search criteria.
> > > >> >
> > > >> > At the moment if I give termfreq(field,term) then it gives me the
> > term
> > > >> > frequency per document and if I use totaltermfreq(field,term), it
> > > gives
> > > >> me
> > > >> > the total term frequency in entire index not in the result set of
> my
> > > >> search
> > > >> > criteria.
> > > >> >
> > > >> > So what I need is your help to find how to how to get total
> > occurrence
> > > >> of a
> > > >> > term in query's result set.
> > > >> >
> > > >> > If this is my result set
> > > >> >
> > > >> > <doc>
> > > >> >     <str name="type">Movies</str>
> > > >> >     <str name="format">dvd</str>
> > > >> >     <str name="product">The Hunger Games</str></doc>
> > > >> >
> > > >> >   <doc>
> > > >> >     <str name="type">Books</str>
> > > >> >     <str name="format">paperback</str>
> > > >> >     <str name="product">The Hunger Book</str></doc>
> > > >> >
> > > >> > And I am looking for term 'hunger' in product field then I want to
> > get
> > > >> > value = '2' , and if I am searching for term 'games' in product
> > field
> > > I
> > > >> > want to get value = '1' .
> > > >> >
> > > >> > Thanks,
> > > >> > Tony
> > > >>
> > >
> >
>

Reply via email to