我的应用程序使用 Lucene 4.1 并提供两种不同的搜索语法,标准查询解析器语法和 Solr 的近似 dismax 搜索。Solr 现在具有结合了这两者的 eDismax 搜索,这对于我的应用程序来说是完美的,因此我可以提供一个支持这两种语法的单一界面。
但是 eDismax 在最新版本的 Lucene 中是否可用,因为我不需要/不想为 Solr 重写我的代码?
不,不是。
EDisMax 的当前实现与某些 Solr 功能相关,因此可能需要进行一些重写才能抽出相关部分。您可以在grepcode(以便于导航)(或当前主干的Apache Lucene SVN)上查看实现(对于 4.7.0 )。
SOLR-2368是跟踪实现的原始问题,是开始挖掘实现特定细节的好地方。