Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Resolved
-
Lucene.Net 3.0.3
-
None
-
None
Description
I'm using Lucene.Net 3.0.3.0 version in my website to search list of courses.
I have few courses which contains the special character "#" like, C#, C#.Net, etc.
But When I search with the term "C#" it showing 0 results.
I'm using StandardAnalyzer and MultiFieldQueryParser also allowing wildcard search (AllowLeadingWildcard = true).
Here is my code:
var analyzer = new StandardAnalyzer(Version.LUCENE_30, stopWords);
{
BooleanQuery query = new BooleanQuery();
var nameParser = new MultiFieldQueryParser(Version.LUCENE_30, new[]
, analyzer);
if (!string.IsNullOrEmpty(searchCriteria.CourseName))
{
query.Add(parseQuery(GetTerms(searchCriteria.CourseName.ReplaceDiacritics()), nameParser), Occur.MUST);
}
ScoreDoc[] hits = searcher.Search(query, null, hits_limit, Sort.RELEVANCE).ScoreDocs;
var results = _mapLuceneToDataList(hits, searcher);
analyzer.Close();
searcher.Dispose();
return results;
}
For indexing:
The word "C#" indexed and stored correctly.
doc.Add(new Field("Title", sampleData.CourseName, Field.Store.YES, Field.Index.ANALYZED));
Kindly let me know what I have to do to retrieve the result when I search with the term "C#".