【问题标题】:Change StandardAnalyzer Lucene更改 StandardAnalyzer Lucene
【发布时间】:2016-02-23 14:23:40
【问题描述】:

我正在尝试使用 lucene 4.10.3 的 StandardAnalyzer 按标题搜索文档。我从一个文件中读取了引号,然后添加了双引号来构建查询:

Query query = parser.parse("\""+doc.get("title")+"\"");

问题是当它读到 PHILIPPINES SAYS DEBT PACT "BETTER THAN MEXICO'S lucene 返回这个错误

Cannot parse '"PHILIPPINES SAYS DEBT PACT "BETTER THAN MEXICO'S"': Lexical error at line 1, column 52.  Encountered: <EOF> after : ""

我该如何解决?

谢谢!

【问题讨论】:

    标签: java lucene tokenize standardanalyzer


    【解决方案1】:

    问题是您要搜索的文本中的引号需要转义。您可以使用QueryParser.escape转义要搜索的文本:

    Query query = parser.parse("\"" + QueryParser.escape(doc.get("title")) + "\"");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      相关资源
      最近更新 更多