Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Lucene没有搜索具有'-';_C#_.net_Lucene - Fatal编程技术网

C# Lucene没有搜索具有'-';

C# Lucene没有搜索具有'-';,c#,.net,lucene,C#,.net,Lucene,我使用标准分析器来存储文本,也使用相同的分析器进行搜索 以下是用于搜索文本的代码: Analyzer analyzer = GetAnalyzer(); QueryParser parser = new QueryParser("Text", analyzer); parser.SetAllowLeadingWildcard(true); Query query; que

我使用标准分析器来存储文本,也使用相同的分析器进行搜索

以下是用于搜索文本的代码:

        Analyzer analyzer = GetAnalyzer();

        QueryParser parser = new QueryParser("Text", analyzer);         
        parser.SetAllowLeadingWildcard(true);
        Query query;        

            query = parser.Parse(finalSearch);

        Hits hits = searcher.Search(query);
下面是我如何存储文本的代码:

fieldText = new Field("Text", text.ToLower(), Field.Store.YES, Field.Index.TOKENIZED);     

document.Add(fieldText);

尝试使用
'\'
转义字符<代码>'-'将是
'\-'

Lucene支持转义作为查询语法一部分的特殊字符。当前列表中的特殊字符为

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \
要转义这些字符,请在字符前使用\。例如,要搜索(1+1):2请使用以下查询:

\(1\+1\)\:2

请说明问题。也许可以举个例子。我正在使用QueryParser.Escape(“Hello-Break”),它会返回我“Hello-Break”,但当我执行QueryParser.Parse(“Hello-Break”)时,它会删除该backslack…知道吗?您是否在程序中手动输入第二条语句?尝试QueryParser.Parse(@“Hello \-Break”);传递一个普通字符串?它仍然没有返回任何结果:(你能发布完整的代码示例吗?你在问题中发布的代码示例中没有-)。