我目前正在评估我们是否可以将基于 Solr 的后端迁移到 Elasticsearch。
但是,我似乎无法弄清楚 Elasticsearch 中的 Solr 中配置的自定义请求处理程序是否具有等效功能(如在 solrconfig.xml 中配置的那样)。
对于上下文,在我们的 Solr 配置中,我们有许多静态定义的请求处理程序,其中包含一组预配置的构面、范围构面、构面枢轴。类似于下面的内容,在 solrconfig.xml 中配置:
<requestHandler name="/foo" class="solr.SearchHandler">
<lst name="defaults">
<str name="fl">
field1,
field2
</fl>
<str name="facet.field">bar</str>
<str name='facet.range'>range_facet</str>
<str name='f.range_facet.facet.range.start'>0</str>
<str name='f.range_facet.facet.range.end'>10</str>
<str name='f.range_facet.facet.range.gap'>1</str>
</lst>
</requestHandler>
然后,我可以使用类似这样的内容直接从 RequestHandler 获取一组文档 http://solr-host:8983/solr/collection-name/foo?q=*:*
Solr 将返回一个仅包含所需字段和方面的文档集。从根本上讲,执行查询的应用程序不需要知道(或配置为)在查询时请求所有返回的元素。
我的问题是 - 在 Elasticsearch 中,是否能够配置一个端点,使其仅返回所需的聚合和/或字段,而无需在查询时将它们发布到 API?
最佳答案
对此有一篇很好的文章,https://sematext.com/blog/2014/04/29/parametrizing-queries-in-solr-and-elasticsearch/ 。 Elastic Search 基本上使用模板代替处理程序来进行与搜索相关的查询调用。也有许多存储的模板可供使用。请参阅此处的文档 Template Query
关于elasticsearch - Elasticsearch 中是否有与 Solr RequestHandler 等效的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37762115/