On Thu, 19 Aug 2010, Aric Coady wrote:

On Aug 18, 2010, at 10:13 PM, Andi Vajda wrote:
On Wed, 18 Aug 2010, Aric Coady wrote:
#query = queryParser.parse(queryString)
query = queryParser.parse(Version.LUCENE_CURRENT, queryString, fields,
                        [BooleanClause.Occur.SHOULD, 
BooleanClause.Occur.SHOULD],
                        analyzer)

Whenever there is a name conflict between a static and non-static method 
detected by JCC, the static method wrapper is renamed to be suffixed with a '_' 
and a warning is emitted by JCC.

Does changing the code to use a parse_() method instead solve the problem ?
(it's late here and I haven't tried it myself)

Ah, so there are couple different things going on here. MultiFieldQueryParser has only static parse methods, except that it also inherits QueryParse.parse. Perhaps that's why JCC isn't supplying a parse_ method.

Yes, that's a probable limitation of the conflict/renaming logic in JCC.

lucene.MultiFieldQueryParser.parse
<built-in method parse of type object at 0x10171d800>
lucene.MultiFieldQueryParser.parse_
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: type object 'MultiFieldQueryParser' has no attribute 'parse_'
lucene.QueryParser.parse
<method 'parse' of 'QueryParser' objects>

This gotcha has come up before: http://mail-archives.apache.org/mod_mbox/lucene-pylucene-dev/201007.mbox/%3caanlktinkhxsiqp7jljz1q0cy6cv03y5umyzvg8a5d...@mail.gmail.com%3e. But as known limitations go, it's an easy workaround. Just call QueryParser.parse with the parser object as the first argument.

I had forgotten about this but yes, this should work.

As for the wildcard issue, I was trying to point out that I don't think it's a pylucene problem at all. The example given was calling the static MultiFieldQueryParser.parse with a parser object, incorrectly expecting settings on the parser object to have an affect. The fact that calling queryParser.parse(queryString) raises a TypeError is technically unrelated, although probably adding to the confusion.

Hence my first inclination to send the user to check out the problem on java-u...@lucene.apache.org.

Thanks for debugging this, I've been travelling and I'm not very responsive.
I'm back now.

Andi..

Reply via email to