lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukas Vlcek" <lukas.vl...@gmail.com>
Subject Re: Customized search with Lucene?
Date Wed, 24 Oct 2007 21:45:21 GMT
Doron,

Sorry for the late reply.
I got the inspiration for this question from book Programming Collective
Intelligence by Toby Segaran (you can check
here<http://radar.oreilly.com/archives/2007/08/programming_col.html>for
some O'Reilly's comments on the book). You can find a chapter
Searching
and Ranking in this book , namely on the page 74 there is one idea that one
can use neural network to learn and capture contribution of individual user
query words to selected  (clicked) document. Once the net is trained well
then it can be used to reorder hits.

The book does not elaborate the scenario where the index is changed often;
however, my impression was that this technique is common for customized
search and that Lucene/Nutch community is aware of it.

After reading the chapter again this technique can be used not just for
customized search but rather as an overall improvement to search capability
of search engine (that is the case where interactions of all users with
search engine are stored in shared neural network which is a good example of
capturing collective intelligence). This technique tends to capture
*association* between query words and individual document.

The nice thing about this approach is that the network can give you
reasonable results even for words which haven't been used before (as least
that is what the book seems to claim).

Regards,
Lukas

On 10/16/07, Doron Cohen <DORONC@il.ibm.com> wrote:
>
> Where and how do you store this type of info:
>   If user U1 search for query Q7 boost doc D5 by B17
>   If user U2 search for query Q3 boost doc D15 by B2
> Seems lots of info, and it must be persistent.
>
> Perhaps o.a.l.search.function can help - assuming you
> have this info available at search time, and can use
> it to create a ValueSource.
>
> Doron
>
> "Lukas Vlcek" <lukas.vlcek@gmail.com> wrote on 13/10/2007 08:53:47:
>
> > Hi,
> >
> > I am looking for an easy (~preferred) way of implementing
> > customized search
> > with Lucene. What I mean by this is changing order of returned hits
> > according to user profile. In simple words I would like to be
> > able to tweak
> > order of documents in Hits collection before it is presented to
> > the client.
> >
> > Example: if user A issues a query "lucene" then he/she tends toclick the
> > third returned link (document #123). I would like to "boost"
> > document #123
> > for this user so the next time he/she issues the query "lucene"again the
> > hit for the document #123 will be in the first or second
> > position (providing
> > that the index hasn't been modified).
> >
> > Looking at the Searchable<http://lucene.zones.apache.org:
> > 8080/hudson/job/Lucene-
> > Nightly/javadoc/org/apache/lucene/search/Searchable.html>interface
> > it does not seem it supports this kind of flexibility. I don't
> > want to use filter<http://lucene.zones.apache.org:
> > 8080/hudson/job/Lucene-
> > Nightly/javadoc/org/apache/lucene/search/Filter.html>of
> > sort<http://lucene.zones.apache.org:8080/hudson/job/Lucene-
> > Nightly/javadoc/org/apache/lucene/search/Sort.html>(they
> > are not appropriate for my goal).
> >
> > Custom scoring<http://lucene.zones.apache.org:
> > 8080/hudson/job/Lucene-
> > Nightly/javadoc/org/apache/lucene/search/package-summary.html#scoring
> > >seems
> > to be the only option left. At the first glance it seems quite
> > complex; moreover, I am not sure it really allows me to achieve
> > my goal, but
> > if there is no other way then I have to try it...
> > Any suggestions?
> >
> > Regards,
> > Lukas
> >
> > --
> > http://blog.lukas-vlcek.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>


-- 
http://blog.lukas-vlcek.com/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message