Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to do fuzzy search in Lucene.net in asp.net?

Tags:

c#

lucene.net

we have creating lucene.net index and search based on this URL http://sonyblogpost.blogspot.in/. but we want the output like follow.

example: if i search "featured" i want to show related terms like "featured","featuring","feature".

Anyone can help me. thanks.

like image 598
user2773170 Avatar asked Sep 17 '13 13:09

user2773170


1 Answers

To perform a Fuzzy search you'll create a MultiFieldQueryParser Below is an example on how to do this:

var parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, new[] { "field1", "field2" }, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29));

Your version of Lucene.Net may vary.

Next you will get a Fuzzy query from the parser like this:

var query = parser.GetFuzzyQuery("fieldName", "featured", 0.7f);

The float value of 0.7f is the minimum similarity. You can tweak this number until you get the desired results. The number cannot be more than 1.0f. Executing this query using an Lucene Searcher will give you the results you expect.

like image 151
jvanrhyn Avatar answered Oct 14 '22 08:10

jvanrhyn