lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Otis Gospodnetic (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-789) Custom similarity is ignored when using MultiSearcher
Date Thu, 05 Apr 2007 02:03:32 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486835
] 

Otis Gospodnetic commented on LUCENE-789:
-----------------------------------------

Alexey, the best way to start with this, and the way that will help get this fixed in Lucene
core is to write a unit test class that does what your code does with MultiSearcher and BooleanQuery,
and shows that the test fails when a custom Similarity class is used.  You can make that custom
Similarity an inner class in your unit test class, to contain everything neatly in a single
class.

Once we see the test failing we cann apply your suggested fix and see if that works, if your
previously broken unit test now passes, and if all other unit tests still pass.


> Custom similarity is ignored when using MultiSearcher
> -----------------------------------------------------
>
>                 Key: LUCENE-789
>                 URL: https://issues.apache.org/jira/browse/LUCENE-789
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.0.1
>            Reporter: Alexey Lef
>
> Symptoms:
> I am using Searcher.setSimilarity() to provide a custom similarity that turns off tf()
factor. However, somewhere along the way the custom similarity is ignored and the DefaultSimilarity
is used. I am using MultiSearcher and BooleanQuery.
> Problem analysis:
> The problem seems to be in MultiSearcher.createWeight(Query) method. It creates an instance
of CachedDfSource but does not set the similarity. As the result CachedDfSource provides DefaultSimilarity
to queries that use it.
> Potential solution:
> Adding the following line:
>     cacheSim.setSimilarity(getSimilarity());
> after creating an instance of CacheDfSource (line 312) seems to fix the problem. However,
I don't understand enough of the inner workings of this class to be absolutely sure that this
is the right thing to do.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message