lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Baptiste Huber (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENENET-32) Check hashtable in PhraseQuery.ExtractTerms for existing keys
Date Wed, 07 Mar 2007 10:25:24 GMT

    [ https://issues.apache.org/jira/browse/LUCENENET-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478734
] 

Jean-Baptiste Huber commented on LUCENENET-32:
----------------------------------------------

It seems the problem comes from a wrong port from Java to .NET.
In Java, the method extractTerms uses the interface Set which corresponds more to ArrayList
than to Hashtable. Nevertheless, contrary to the Java class Set, ArrayList requires to check
that the item is not already present before adding.


> Check hashtable in PhraseQuery.ExtractTerms for existing keys
> -------------------------------------------------------------
>
>                 Key: LUCENENET-32
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-32
>             Project: Lucene.Net
>          Issue Type: Task
>            Reporter: IT-Servives Polenz
>
> It can happen by accident, that an search term exist twice in a query.
> If so, Lucene.Net fails with the exception, e.g. 
> Item has already been added. Key in dictionary: 'Text:money' Key being added: 'Text:money'
> StackTrace
> at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
> at System.Collections.Hashtable.Add(Object key, Object value)
> at Lucene.Net.Search.PhraseQuery.ExtractTerms(Hashtable queryTerms)
> at Lucene.Net.Search.BooleanQuery.ExtractTerms(Hashtable terms)
> at Lucene.Net.Highlight.QueryTermExtractor.GetTerms(Query query, Hashtable terms, Boolean
prohibited, String fieldName)
> at Lucene.Net.Highlight.QueryTermExtractor.GetTerms(Query query, Boolean prohibited,
String fieldName)
> at Lucene.Net.Highlight.QueryScorer..ctor(Query query)
> You should just adopt the method by adding a check whether the key already exists in
your inner hashtable.
> This is nothing a Lucene user could handle before sending the query into Lucene, simply
because it's unneccesary work to implement a check of the search phrase before.

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


Mime
View raw message