Is there anything I can do to pass my Unit-Test ? Or it is impossible ? Thanks a lot,
Fabrice Fabrice Robini wrote: > > Hi Srikant, > > I really thank you for your reply, it's very interesting. > I have to say I am confused with that now... > I do not know what I can to for passing this Unit test... > > I agree with you, it may be an issue of computing relevance. > > Fabrice > > > Srikant Jakilinki-3 wrote: >> >> OK, got it to work. Thanks. >> >> By a quick scoring comparision, I got the same scores for both hits. >> Maybe there is a loss of precision somewhere. Or when scores are equal, >> Lucene is doing something unintended/overlooked and thus putting shorter >> documents higher as the experiment is a special case where the TF of a >> queried term (for both suites, the TF of x = 10%) is equal which is very >> rarely. Or maybe the IDF factor is kicking in in some strange way >> although it shouldnt. There are a number of varied reasons, but for the >> naked eye, there isnt much. >> >> However, that said, length normalization is not a science but an art and >> the simple scheme we have here in the FairSimilarity will not perform >> always as expected in real world scenarios. Maybe I am missing something >> or have forgot my basics but that is not to say your observation is >> trivial. >> >> Rather, the contrary. Hope there will be more activity on this topic >> because it is an issue of computing relevance which is the core of >> search. >> >> Cheers, >> Srikant >> >> Fabrice Robini wrote: >>> Oooops sorry, bad cut/paste... >>> >>> Here is the right one :-) >>> >>> public void testFairSimilarity() throws CorruptIndexException, >>> IOException, ParseException >>> { >>> Directory theDirectory = new RAMDirectory(); >>> Analyzer theAnalyzer = new StandardAnalyzer(); >>> >>> IndexWriter theIndexWriter = new IndexWriter(theDirectory, >>> theAnalyzer); >>> theIndexWriter.setSimilarity(new FairSimilarity()); >>> >>> Document doc1 = new Document(); >>> Field name1 = new Field("NAME", "SHORT_SUITE", Field.Store.YES, >>> Field.Index.UN_TOKENIZED); >>> Field content1 = new Field("CONTENT", "x 2 3 4 5 6 7 8 9 10", >>> Field.Store.NO, Field.Index.TOKENIZED); >>> doc1.add(name1); >>> doc1.add(content1); >>> theIndexWriter.addDocument(doc1); >>> >>> Document doc2 = new Document(); >>> Field name2 = new Field("NAME", "BIG_SUITE", Field.Store.YES, >>> Field.Index.UN_TOKENIZED); >>> Field content2 = new Field("CONTENT", "x x 3 4 5 6 7 8 9 10 11 >>> 12 13 >>> 14 15 16 17 18 19 20", Field.Store.NO, Field.Index.TOKENIZED); >>> doc2.add(name2); >>> doc2.add(content2); >>> theIndexWriter.addDocument(doc2); >>> >>> theIndexWriter.close(); >>> >>> Searcher searcher = new IndexSearcher(theDirectory); >>> searcher.setSimilarity(new FairSimilarity()); >>> >>> QueryParser queryParser = new QueryParser("CONTENT", >>> theAnalyzer); >>> >>> Hits hits = searcher.search(queryParser.parse("x")); >>> >>> assertEquals(2, hits.length()); >>> assertEquals("BIG_SUITE", hits.doc(0).get("NAME")); >>> assertEquals("SHORT_SUITE", hits.doc(1).get("NAME")); >>> } >>> >>> >>> >>> >>> Srikant Jakilinki-3 wrote: >>> >>>> Well, I cant seem to even get past the assertions of this code. >>>> >>>> The first assertion is failing in that I get 0 hits. I am using >>>> SimpleAnalyzer since I do not have a FrenchAnalyzer. >>>> >>>> Any thoughts? >>>> Srikant >>>> >> >> ---------------------------------------------------------------------- >> Free pop3 email with a spam filter. >> http://www.bluebottle.com/tag/5 >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > -- View this message in context: http://www.nabble.com/Is-Fair-Similarity-working-with-lucene-2.2---tp15001250p15060757.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]