【发布时间】:2016-06-11 09:28:28
【问题描述】:
我目前正在评估我们是否可以将基于 Solr 的后端迁移到 Elasticsearch。
但是,我似乎无法解决的问题是,在 Elasticsearch 中是否存在与 Solr 中配置的自定义请求处理程序相同的功能(如在 solrconfig.xml 中配置的那样)。
对于上下文,在我们的 Solr 配置中,我们有许多静态定义的请求处理程序,其中包含一组预配置的 facet、ranged facet、facet pivots。类似于下面的东西,在 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?
【问题讨论】:
标签: elasticsearch solr