Uploaded image for project: 'Lucene.Net'
  1. Lucene.Net
  2. LUCENENET-595

Wildcard search with special characters "#" not working

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Resolved
    • Lucene.Net 3.0.3
    • None
    • Lucene.Net Core
    • 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[]

      { "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#".

      Attachments

        Activity

          People

            Unassigned Unassigned
            SingaraveluR Singaravelu
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: