ANTLR for Lucene 中的查询解析

Nea*_*erd 5 java lucene antlr antlr3

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

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

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

(猫:重要和你好)或(猫:不重要和你好)

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

非常感谢大家!!!

msc*_*ker 2

我什至会:

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

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

  3. 检查ExtendableQueryParser对于此类字段是否足够。