遇到“<eof>”Lucene.net 3.0.3 QueryParser错误

时间:2017-05-03 10:30:07

标签: c# lucene lucene.net

我在搜索文字包含短语末尾的'AND'时收到错误。

searchQuery:“Text AND”

    private static Query parseQuery(string searchQuery, QueryParser parser)
    {
       Query query;
       try
       {
         query = parser.Parse(searchQuery.Trim());
       }
       catch (ParseException e)
       {
         query = parser.Parse(QueryParser.Escape(searchQuery.Trim()));
       }
       return query;
    }

1 个答案:

答案 0 :(得分:0)

更新了它涵盖了我的所有方案。

我的问题是已解决。当我得到异常时,我用小写latters替换搜索查询。

import cats._, cats.data._, cats.implicits._
val f = Kleisli { (x: Int) => (x + 1).some }
val g = Kleisli { (x: Int) => (x * 100).some }

用小写字母替换后,它将如下所示:

searchQuery:"Text AND"

它适用于我的情况,涵盖了我的所有场景。

searchQuery:"text and"

现在,此解决方案适用于以下类型的查询:

  • &#34;文字+&#34;
  • &#34; Text =&#34; 注意:字符串末尾的任何特殊字符。
  • &#34; Text AND&#34; 注意:字符串末尾的任何布尔运算符。
  • &#34;文字和数据&#34;

    注意:剩余查询语法正在作为lucene.net提供所有查询语法(即短语句法,布尔运算符语法,通配符查询)