Hello,

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[] { 
"Column1", " Column2", " Column3" }, 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#”.

Thanks & Regards,
Singaravelu R

Reply via email to