You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Peru Redmi <pe...@gmail.com> on 2016/11/21 15:44:00 UTC

Understanding Query Parser Behavior

Hello All ,

Could someone explain *QueryParser* behavior on these cases

1. While Indexing ,

Document doc = new Document();

doc.add(new Field("*Field*", "*http://www.google.com
<http://www.google.com/>*", Field.Store.YES, Field.Index.ANALYZED));

      index has *two* terms - *http* & *www.google.com
<http://www.google.com/>*

*2.* While searching ,

Analyzer anal = new *ClassicAnalyzer*(Version.LUCENE_30, new
StringReader(""));
QueryParser parser=new *MultiFieldQueryParser*(Version.LUCENE_30, new
String[]{"*Field*"},anal);
Query query = parser.parse("*http://www.google.com <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 (Using
same ClassicAnalyzer in both cases ) ?

ii) is this expected behavior of ClassicAnalyzer(Version.LUCENE_30) on
Parser ?

iii) what should be done to avoid query part *(Field://) *?

Thanks,
Peru.