C#C
C#10mo ago
Pjamaica

Lucene.net problem with wildcard search

I have a worker service that writes data into a lucene database.
I have tried different analyzers all have the same problem. (the problem is most likely in my search code)
//  var analyzer = new KeywordAnalyzer();
//  var analyzer = new WhitespaceAnalyzer(luceneVersion);
    var analyzer = new SimpleAnalyzer(luceneVersion);
//  var analyzer = new StandardAnalyzer(luceneVersion);


Client code:
   var filenameQuery = new WildcardQuery(new Term(DocProp.Filename, "*" + SearchFor.ToLowerInvariant() ));
        filenameQuery.Boost = 2.0f;
        var filenameQuery2 = new WildcardQuery(new Term(DocProp.Filename,  SearchFor.ToLowerInvariant()+"*"  ));
        filenameQuery2.Boost = 2.0f;
        var filenameQuery3 = new WildcardQuery(new Term(DocProp.Filename,"*"+  SearchFor.ToLowerInvariant()+"*"  ));
        filenameQuery3.Boost = 2.0f;
        var filenameQuery4 = new TermQuery(new Term(DocProp.Filename,  SearchFor.ToLowerInvariant()  ));
        filenameQuery4.Boost = 2.0f;
        
        var filePathQuery = new TermQuery(new Term(DocProp.Path,   SearchFor.ToLowerInvariant()  ));
        
        var contentQuery = new TermQuery(new Term(DocProp.Content ,  SearchFor.ToLowerInvariant()));
        var query = new BooleanQuery();
        query.Add(filenameQuery,Occur.SHOULD);
        query.Add(filenameQuery2,Occur.SHOULD);
        query.Add(filenameQuery3,Occur.SHOULD);
        query.Add(filenameQuery4,Occur.SHOULD);
        query.Add(filePathQuery,Occur.SHOULD);
        query.Add(contentQuery,Occur.SHOULD);


An example filename that I search for is "Skype"
These searches give the correct result:
ky
kyp
kype

These search do not give any result (all starting with the first letter)
Sk
Sky
Skyp
Skype

When debugging I can see that the variable "SearchFor" is correct and not truncated.
Was this page helpful?