在Solr中,我能够编写一些查询时插件来进行某种查询重写(生成子查询等),但在ElasticSearch中我找不到类似的东西。例如,在Solr中我创建了一个插件,它创建一个OR子查询,对原始查询具有低乘法提升(默认情况下,原始查询是AND)。这里的要点是显示AND结果首先跟随OR结果,因为单独运行OR查询并不能保证所有查询字首先出现的结果。
以下是一个例子:
我通过在Solr中编写一个简单的运行时插件来实现这一点,但不知道如何在ElasticSearch中执行此操作。
任何指针都会受到赞赏。
答案 0 :(得分:0)
如果您正在考虑提升,您不需要编写插件,只需使用查询DSL(带有条款的bool查询)或function_score query来获取更高级的用例。如果这还不够,你总是可以通过插件编写自己的查询,但是对于更高级的用例,你通常不需要这样做。