Oops... that's EdgeNGramTokenFilter in Lucene.

-- Jack Krupansky

-----Original Message----- From: Jack Krupansky
Sent: Wednesday, July 04, 2012 4:52 PM
To: java-user@lucene.apache.org
Subject: Re: Starts with Query - Return like search

Here's a Solr field type that supports edge n-grams:

<fieldType name="text_general_edge_ngram" class="solr.TextField"
positionIncrementGap="100">
 <analyzer type="index">
   <tokenizer class="solr.LowerCaseTokenizerFactory"/>
   <filter class="solr.EdgeNGramFilterFactory" minGramSize="2"
maxGramSize="15" side="front"/>
 </analyzer>
 <analyzer type="query">
   <tokenizer class="solr.LowerCaseTokenizerFactory"/>
 </analyzer>
</fieldType>

In Lucene, you would use the EdgeNGramFilter.

This is for Lucene/Solr 3.6.

-- Jack Krupansky

-----Original Message----- From: Hiren Shah
Sent: Wednesday, July 04, 2012 3:20 PM
To: java-user@lucene.apache.org
Subject: Re: Starts with Query - Return like search

Hi Jack
This needs to be taken care while indexing?Where can i get the code for the
edgegram indexing and then searching.?

-Hiren

On Wed, Jul 4, 2012 at 9:19 PM, Jack Krupansky
<j...@basetechnology.com>wrote:

You might also consider using the EdgeNGram filter for your documents
since it would index "bar" as both "ba" and "bar" at the same position,
eliminating the need for the use of wildcards. It makes the index bigger,
but eliminates the performance degradation of wildcards. It isn't great for
all situations, but maybe it would work well for your case.

-- Jack Krupansky

-----Original Message----- From: Ian Lea
Sent: Wednesday, July 04, 2012 4:00 AM
To: java-user@lucene.apache.org
Subject: Re: Starts with Query - Return like search


In fact there is an FAQ entry Can I combine wildcard and phrase
search, e.g. "foo ba*"? at
http://wiki.apache.org/lucene-**java/LuceneFAQ#Can_I_combine_**
wildcard_and_phrase_search.2C_**e.g._.22foo_ba.2A.22.3F<http://wiki.apache.org/lucene-java/LuceneFAQ#Can_I_combine_wildcard_and_phrase_search.2C_e.g._.22foo_ba.2A.22.3F>
which suggests you extend the QueryParser to build a MultiPhraseQuery.
There's also ComplexPhraseQueryParser which looks interesting.


--
Ian.


On Wed, Jul 4, 2012 at 9:51 AM, Ian Lea <ian....@gmail.com> wrote:

Where exactly are you using these double quoted strings?  QueryParser?
 It would help if you showed a code snippet.

Assuming your real data is more complex and the strings you are
searching for aren't necessarily at the start of the text, you'll need
some mix of wildcard and proximity searching.  I don't think that "foo
ba*"~n
will work but I'm sure you'll be able to do it with a SpanQuery or
six.  SpanNearQuery lets you specify slop and whether you care if
matches are in order or not.

See http://www.lucidimagination.**com/blog/2009/07/18/the-**spanquery/<http://www.lucidimagination.com/blog/2009/07/18/the-spanquery/>for
info on spans.

See also http://wiki.apache.org/lucene-**java/LuceneFAQ#Why_am_I_**
getting_no_hits_.2BAC8_**incorrect_hits.3F<http://wiki.apache.org/lucene-java/LuceneFAQ#Why_am_I_getting_no_hits_.2BAC8_incorrect_hits.3F>
for good tips on figuring out why things aren't doing what you want.

Good luck.


--
Ian.


On Wed, Jul 4, 2012 at 7:11 AM, Hiren Shah <hiren.t.s...@gmail.com>
wrote:

I have used standardAnalyser to save the ANALYZED data in index.

Data is as below:-

   1. foo bag test
   2. foo bar test
   3. bar india foo


I used
When  i search using--------------->  foo ba
I get all results when  i use ------->(+foo* +ba*)

1. I tried using "foo ba" (with double quotes) but no results come as
   it searches for exact word
   2. I tried using "foo ba*" (with double quotes)  but no results come
as
   it searches for exact word
3. I tried using "foo bar" (with double quotes) Then 2nd result comes
   as both words are completed

What should be done to get  options 1 and 2 in results when user types
foo
ba*. I dont want 3rd result but want 1st 2 results.
Please help.

Thanks
Hiren


------------------------------**------------------------------**---------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.**apache.org<java-user-unsubscr...@lucene.apache.org> For additional commands, e-mail: java-user-help@lucene.apache.**org<java-user-h...@lucene.apache.org>

------------------------------**------------------------------**---------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.**apache.org<java-user-unsubscr...@lucene.apache.org> For additional commands, e-mail: java-user-help@lucene.apache.**org<java-user-h...@lucene.apache.org>




---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to