5

可能它会结合几个问题,但上下文是相同的。

背景:我需要为 Lucene 实现自定义查询解析。原因是我没有在 Lucene 中存储一些字段,而是将它们保存在单独的数据库中,因为它们变化太频繁了。该字段为分类类别,即

所以,我想像这样解析查询:

(cat:important and hello) 或 (cat:not_important and hi)

对于类似 Lucene 的语言,是否有任何标准的 ANTLR4 查询解析器(或示例)?有没有一种方法可以引入自定义 QueryNode 而无需我从头开始重写所有内容(Sytax、QueryBuilders 等)?

非常感谢各位!!!

4

1 回答 1

2

我什至会:

  1. 修改原始的StandardQueryParser.jj文件,在JavaCCQueryParser的帮助下生成另一个文件(它像 AntLR 一样生成 LL 下降解析器),

  2. 将原始StandardQueryParser.jj文件转换为正确的 AntLR 语法语法,或

  3. 检查ExtendableQueryParser这种字段是否不够。

于 2013-11-21T03:12:15.263 回答