【问题标题】:Is there an equivalent of a Solr RequestHandler in Elasticsearch?Elasticsearch 中是否有相当于 Solr RequestHandler 的?
【发布时间】: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


    【解决方案1】:

    有一篇很好的文章,https://sematext.com/blog/2014/04/29/parametrizing-queries-in-solr-and-elasticsearch/。 Elastic Search 基本上使用模板代替处理程序来进行与搜索相关的查询调用。也有许多存储的模板可供使用。请参阅此处的文档Template Query

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2012-01-24
      • 2014-09-21
      • 2011-07-01
      • 2017-01-08
      • 2010-10-16
      • 2023-04-04
      • 2016-02-25
      • 1970-01-01
      相关资源
      最近更新 更多