You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by ma...@yahoo.com on 2011/03/18 22:16:22 UTC
Regarding MoreLikeThis similarity Search
Hi,
I am new to lucene ... I have a question while implementing similarity search using MoreLikeThis query. I have written a small program but it is not giving any results. In my index file I have both strored and unstored(analyzed) fields.
Sample Code :
IndexReader ir = IndexReader.open(index directory path);
IndexSearcher indexsearcher = new ProfileIndexSearcher(ir);
IndexSearcher indexsearcher = new IndexSearcher(ir);
MoreLikeThis mlt = new MoreLikeThis(ir);
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
mlt.setAnalyzer(analyzer);
mlt.setFieldNames(string_of_fields);
Query query1 = mlt.like(1); // mlt.like(docnumber)
TopDocs matches = null;
matches = indexsearcher.search(query1,20);
As per my understanding I should atleast one document as result.
Is any one has idea what I can do to implement this serach.
Thanks in Advance.
--Madhu.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: Regarding MoreLikeThis similarity Search
Posted by madhuri madhuri <ma...@yahoo.com>.
Hi Koji,
Thanks for your reply... It is working now by setting doc and term frequency.
Regards,
Madhu.
________________________________
From: Koji Sekiguchi <ko...@r.email.ne.jp>
To: java-user@lucene.apache.org
Sent: Fri, 18 March, 2011 5:49:15 PM
Subject: Re: Regarding MoreLikeThis similarity Search
(11/03/19 6:16), madhuri_1820@yahoo.com wrote:
> Hi,
>
> I am new to lucene ... I have a question while implementing similarity search
>using MoreLikeThis query. I have written a small program but it is not giving
>any results. In my index file I have both strored and unstored(analyzed) fields.
>
> Sample Code :
>
> IndexReader ir = IndexReader.open(index directory path);
> IndexSearcher indexsearcher = new ProfileIndexSearcher(ir);
> IndexSearcher indexsearcher = new IndexSearcher(ir);
> MoreLikeThis mlt = new MoreLikeThis(ir);
> Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
> mlt.setAnalyzer(analyzer);
> mlt.setFieldNames(string_of_fields);
>
> Query query1 = mlt.like(1); // mlt.like(docnumber)
> TopDocs matches = null;
> matches = indexsearcher.search(query1,20);
>
> As per my understanding I should atleast one document as result.
>
> Is any one has idea what I can do to implement this serach.
> Thanks in Advance.
>
> --Madhu.
Hi Madhu,
Check query1 and compare what you expected:
Query query1 = mlt.like(1); // mlt.like(docnumber)
System.out.println(query1.toString());
And if it is not what you expected, check min/max docFreq/termFreq/termLength
setter/getter methods described in MLT javadoc.
Koji
--
http://www.rondhuit.com/en/
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: Regarding MoreLikeThis similarity Search
Posted by Koji Sekiguchi <ko...@r.email.ne.jp>.
(11/03/19 6:16), madhuri_1820@yahoo.com wrote:
> Hi,
>
> I am new to lucene ... I have a question while implementing similarity search using MoreLikeThis query. I have written a small program but it is not giving any results. In my index file I have both strored and unstored(analyzed) fields.
>
> Sample Code :
>
> IndexReader ir = IndexReader.open(index directory path);
> IndexSearcher indexsearcher = new ProfileIndexSearcher(ir);
> IndexSearcher indexsearcher = new IndexSearcher(ir);
> MoreLikeThis mlt = new MoreLikeThis(ir);
> Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
> mlt.setAnalyzer(analyzer);
> mlt.setFieldNames(string_of_fields);
>
> Query query1 = mlt.like(1); // mlt.like(docnumber)
> TopDocs matches = null;
> matches = indexsearcher.search(query1,20);
>
> As per my understanding I should atleast one document as result.
>
> Is any one has idea what I can do to implement this serach.
> Thanks in Advance.
>
> --Madhu.
Hi Madhu,
Check query1 and compare what you expected:
Query query1 = mlt.like(1); // mlt.like(docnumber)
System.out.println(query1.toString());
And if it is not what you expected, check min/max docFreq/termFreq/termLength
setter/getter methods described in MLT javadoc.
Koji
--
http://www.rondhuit.com/en/
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org