Re: Understanding Query Parser Behavior

2016-11-29 Thread Peru Redmi
Hello ,

It would be great , if someone could help on this.
*Note : I am using Lucene 4.10.4 version*

On Mon, Nov 28, 2016 at 5:37 PM, Peru Redmi <perumyph...@gmail.com> wrote:

> Any help on this would be greatly appreciated.
>
> Thanks.
>
> On Thu, Nov 24, 2016 at 8:14 PM, Peru Redmi <perumyph...@gmail.com> wrote:
>
>>
>> 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).toStri
>>> ng());
>>> }
>>> 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 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
>>>
>>>
>>
>


Re: Understanding Query Parser Behavior

2016-11-28 Thread Peru Redmi
Any help on this would be greatly appreciated.

Thanks.

On Thu, Nov 24, 2016 at 8:14 PM, Peru Redmi <perumyph...@gmail.com> wrote:

>
> 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 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.goog
>> le.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
>>
>>
>


Re: Understanding Query Parser Behavior

2016-11-24 Thread Peru Redmi
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 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
>
>


Re: Understanding Query Parser Behavior

2016-11-23 Thread Peru Redmi
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 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.
>>
>>
>


Re: Understanding Query Parser Behavior

2016-11-21 Thread Peru Redmi
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 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.
>
>


Understanding Query Parser Behavior

2016-11-21 Thread Peru Redmi
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
*", Field.Store.YES, Field.Index.ANALYZED));

  index has *two* terms - *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 *
");

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.