Java 改变Lucene分析仪
我正在尝试使用lucene 4.10.3的StandardAnalyzer按标题搜索文档。我从一个文件中读取了引号,并添加了双引号,用于使用以下内容构造查询:Java 改变Lucene分析仪,java,lucene,tokenize,standardanalyzer,Java,Lucene,Tokenize,Standardanalyzer,我正在尝试使用lucene 4.10.3的StandardAnalyzer按标题搜索文档。我从一个文件中读取了引号,并添加了双引号,用于使用以下内容构造查询: Query query = parser.parse("\""+doc.get("title")+"\""); 问题是,当它读到菲律宾称债务协议“比墨西哥的lucene更好”的引述时,它返回了这个错误 Cannot parse '"PHILIPPINES SAYS DEBT PACT "BETTER THAN MEXICO'S"': L
Query query = parser.parse("\""+doc.get("title")+"\"");
问题是,当它读到菲律宾称债务协议“比墨西哥的lucene更好”的引述时,它返回了这个错误
Cannot parse '"PHILIPPINES SAYS DEBT PACT "BETTER THAN MEXICO'S"': Lexical error at line 1, column 52. Encountered: <EOF> after : ""
无法解析“菲律宾说债务契约”比墨西哥更好:第52列第1行的词法错误。遇到的问题:在“之后”
我怎样才能解决它
谢谢 问题是您正在搜索的文本中的引号需要转义。您可以使用以下方法转义要搜索的文本:
问题是,您正在搜索的文本中的引号需要转义。您可以使用以下方法转义要搜索的文本:
Query query = parser.parse("\"" + QueryParser.escape(doc.get("title")) + "\"");