例如 Lucene 查询是(euid:3) AND (sev:0)
,但 Mongo 无法理解。
是否可以将 Lucene 查询转换为 Mongo 理解形式?
在 MongoDB 中的语法是:
db.collectionName.find( { "euid" : 2, "sev" : 0 } );
逗号分隔的条件被视为“AND”,因此上述语法表示在集合中找到我的文档,其中 euid 等于 2 且 sev 等于 0。
Lucene 包含一个查询解析器,可以相对直接地将 lucene 查询转换为 Mongo 查询。
您必须小心输入 mongo 搜索词(“1.0”!= 1.0F),您可能无法获得预期的结果。
有关示例查询转换器,请查看 scaleset-search API 中包含的 MongoQueryConverter。如果有兴趣,我可以将它作为一个独立的库发布,可以使用或不使用 Jongo。