lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From java8964 java8964 <java8...@hotmail.com>
Subject RE: During the wild card search, will lucene 2.9.0 to convert the search string to lower case?
Date Mon, 01 Feb 2010 19:24:00 GMT

This is maybe something I am looking for. We are using the default value, which is true.

Let me examine this method more.

Thanks for your help.

> From: digydigy@gmail.com
> To: java-user@lucene.apache.org
> Subject: RE: During the wild card search, will lucene 2.9.0 to convert the search string
to lower case?
> Date: Mon, 1 Feb 2010 20:36:29 +0200
> 
> Did you try queryParser.SetLowercaseExpandedTerms(false)?
> 
> DIGY
> 
> -----Original Message-----
> From: java8964 java8964 [mailto:java8964@hotmail.com] 
> Sent: Monday, February 01, 2010 8:11 PM
> To: java-user@lucene.apache.org
> Subject: RE: During the wild card search, will lucene 2.9.0 to convert the
> search string to lower case?
> 
> 
> I would like to confirm your reply. You mean that the query parse will lower
> casing. In fact, it looks like that it only does this for wild card query,
> right?
> 
> For the term query, it didn't. As proved by if you change the line to:
> 
>             Query query = new QueryParser("title",
> wrapper).parse("title:\"BBB CCC\"");
> 
> You will get 1 hits back. So in this case, the query parser class did in
> different way for term query and wild card query.
> 
> We have to use the query parse in this case, but we have our own Query
> parser class extends from the lucene query parser class. Anything we can do
> to about it?
> 
> Will lucense's query parser class be fixed for the above inconsistent
> implementation?
> 
> Thanks
> 
> 
> > From: uwe@thetaphi.de
> > To: java-user@lucene.apache.org
> > Subject: RE: During the wild card search, will lucene 2.9.0 to convert the
> search string to lower case?
> > Date: Mon, 1 Feb 2010 17:41:08 +0100
> > 
> > Only query parser does the lower casing. For such a special case, I would
> suggest to use a PrefixQuery or WildcardQuery directly and not use query
> parser.
> > 
> > -----
> > Uwe Schindler
> > H.-H.-Meier-Allee 63, D-28213 Bremen
> > http://www.thetaphi.de
> > eMail: uwe@thetaphi.de
> > 
> > > -----Original Message-----
> > > From: java8964 java8964 [mailto:java8964@hotmail.com]
> > > Sent: Monday, February 01, 2010 5:27 PM
> > > To: java-user@lucene.apache.org
> > > Subject: During the wild card search, will lucene 2.9.0 to convert the
> > > search string to lower case?
> > > 
> > > 
> > > I noticed a strange result from the following test case. For wildcard
> > > search, my understanding is that lucene will NOT use any analyzer on
> > > the query string. But as the following simple code to show, it looks
> > > like that lucene will lower case the search query in the wildcard
> > > search. Why? If not, why the following test case show the search hits
> > > as one for lower case wildcard search, but not for the upper case data?
> > > My original data is NOT analyzed, so they should be stored as the
> > > original data in the index segment, right?
> > > 
> > > Lucene version: 2.9.0
> > > 
> > > JDK version: JDK 1.6.0_17
> > > 
> > > 
> > > public class IndexTest1 {
> > >     public static void main(String[] args) {
> > >         try {
> > >             Directory directory = new RAMDirectory();
> > >             IndexWriter writer = new IndexWriter(directory, new
> > > StandardAnalyzer(Version.LUCENE_CURRENT),
> > > IndexWriter.MaxFieldLength.UNLIMITED);
> > >             Document doc = new Document();
> > >             doc.add(new Field("title", "BBB CCC", Field.Store.YES,
> > > Field.Index.NOT_ANALYZED));
> > >             writer.addDocument(doc);
> > >             doc = new Document();
> > >             doc.add(new Field("title", "ddd eee", Field.Store.YES,
> > > Field.Index.NOT_ANALYZED));
> > >             writer.addDocument(doc);
> > > 
> > >             writer.close();
> > > 
> > >             IndexSearcher searcher = new IndexSearcher(directory,
> > > true);
> > >             PerFieldAnalyzerWrapper wrapper = new
> > > PerFieldAnalyzerWrapper(new StandardAnalyzer(Version.LUCENE_CURRENT));
> > >             wrapper.addAnalyzer("title", new KeywordAnalyzer());
> > >             Query query = new QueryParser("title",
> > >                     wrapper).parse("title:BBB*");
> > >             System.out.println("hits of title = " +
> > > searcher.search(query, 100).totalHits);
> > >             query = new QueryParser("title",
> > >                     wrapper).parse("title:ddd*");
> > >             System.out.println("hits of title = " +
> > > searcher.search(query, 100).totalHits);
> > >             searcher.close();
> > >         } catch (Exception e) {
> > >             System.out.println(e);
> > >         }
> > >     }
> > > }
> > > 
> > > The output:
> > > hits of title = 0
> > > hits of title = 1
> > > 
> > > 
> > > _________________________________________________________________
> > > Hotmail: Trusted email with powerful SPAM protection.
> > > http://clk.atdmt.com/GBL/go/201469227/direct/01/
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-user-help@lucene.apache.org
> > 
>  		 	   		  
> _________________________________________________________________
> Hotmail: Powerful Free email with security by Microsoft.
> http://clk.atdmt.com/GBL/go/201469230/direct/01/
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
> 
 		 	   		  
_________________________________________________________________
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
http://clk.atdmt.com/GBL/go/201469226/direct/01/
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message