Girdi dizgim C++ gibi terimler içerdiğinde, lucen'in ilgili arama sonuçlarını bana geri verdiğinden nasıl emin olabilirim? Lucene ++ karakteri görmezden geliyor gibi görünüyor.Lucene aramada + özel karakter olarak işleme +
Kod ayrıntıları: Bu satırı yürüttüğümde boş bir arama sorgusu alıyorum. (QueryParser.Escape
indexSearcher.Search(searchQuery, collector);
Ben queryField = multiFieldQueryParser.Parse çalıştım:
queryField = multiFieldQueryParser.Parse(inpKeywords);
keywordsQuery.Add(queryField, BooleanClause.Occur.SHOULD);
Ve burada benim özel analizörü:
public class CustomAnalyzer : Analyzer
{
private static readonly WhitespaceAnalyzer whitespaceAnalyzer = new WhitespaceAnalyzer();
public override TokenStream TokenStream(String fieldName, System.IO.TextReader reader)
{
TokenStream result = whitespaceAnalyzer.TokenStream(fieldName, reader);
result = new StandardTokenizer(reader);
result = new LowerCaseFilter(result);
result = new StopFilter(result, stop_words);
return result;
}
}
Ve arama sorgu bu şekilde yürütülmesi ediyorum (inpKeywords)), ancak hala çalışmıyor. İşte çalıştırılan sorgu ve sıfır isabetler döndürür. "+ (())"
Teşekkürler.
WhiteSpaceAnalyzer sadece ... ama yinede + karakterler –