Hello Mike, Here is, how i analyze my text using QueryParser ( with ClassicAnalyzer) and plain ClassicAnalyzer. On checking the same in luke, i get "//" as RegexQuery.
Here is my code snippet: String value = "http\\://www.google.com"; > Analyzer anal = new ClassicAnalyzer(Version.LUCENE_30, new > StringReader("")); > QueryParser parser = new QueryParser(Version.LUCENE_30, "name", > anal); > Query query = parser.parse(value); > System.out.println(" output terms from query parser ::" + query); > > ArrayList list = new ArrayList(); > TokenStream stream = anal.tokenStream("name", new > StringReader(value)); > stream.reset(); > while (stream.incrementToken()) > { > > list.add(stream.getAttribute(CharTermAttribute.class).toString()); > } > System.out.println(" output terms from analyzer " + list); output: output terms from query parser ::name:http name:// name:www.google.com output terms from analyzer [http, www.google.com] On Thu, Nov 24, 2016 at 5:10 PM, Michael McCandless < luc...@mikemccandless.com> wrote: > Hi, > > You should double check which analyzer you are using during indexing. > > The same analyzer on the same string should produce the same tokens. > > Mike McCandless > > http://blog.mikemccandless.com > > > On Wed, Nov 23, 2016 at 9:38 PM, Peru Redmi <perumyph...@gmail.com> wrote: > > Could someone elaborate this. > > > > On Tue, Nov 22, 2016 at 11:41 AM, Peru Redmi <perumyph...@gmail.com> > wrote: > > > >> Hello, > >> Can you help me out on your "No" . > >> > >> On Mon, Nov 21, 2016 at 11:16 PM, wmartin...@gmail.com < > >> wmartin...@gmail.com> wrote: > >> > >>> No > >>> > >>> Sent from my LG G4, an AT&T 4G LTE smartphone > >>> > >>> ------ Original message------ > >>> *From: *Peru Redmi > >>> *Date: *Mon, Nov 21, 2016 10:44 AM > >>> *To: *java-user@lucene.apache.org; > >>> *Cc: * > >>> *Subject:*Understanding Query Parser Behavior > >>> > >>> Hello All ,Could someone explain *QueryParser* behavior on these > cases1. While Indexing ,Document doc = new Document();doc.add(new > Field("*Field*", "*http://www.google.com*", Field.Store.YES, > Field.Index.ANALYZED)); index has *two* terms - *http* & * > www.google.com**2.* While searching ,Analyzer anal = new > *ClassicAnalyzer*(Version.LUCENE_30, newStringReader(""));QueryParser > parser=new *MultiFieldQueryParser*(Version.LUCENE_30, > newString[]{"*Field*"},anal);Query query = parser.parse("*http://www. > google.com *");Now , query has *three *terms - (Field:http) > *(Field://)* (Field:www.google.com)i) Why I have got 3 terms while > parsing , and 2 terms on indexing (Usingsame ClassicAnalyzer in both cases > ) ?ii) is this expected behavior of ClassicAnalyzer(Version.LUCENE_30) > onParser ?iii) what should be done to avoid query part *(Field://) > *?Thanks,Peru. > >>> > >>> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > >