【发布时间】:2014-11-28 09:29:41
【问题描述】:
我目前正在将 SOLR 应用程序迁移到 Elasticsearch,并且卡在了某个特定查询上。 ElasticSearch 文档对如何实现我想要的结果相当模糊。 目前我正在尝试将标记的“fq's”(过滤查询)从 SOLR 转换为 Elasticsearch。我需要能够根据我的查询和过滤器从 Elasticsearch 方面(现在称为聚合)返回,但还要在搜索中显示其他选项的聚合
虽然这听起来很复杂,但在 SOLR 中只需添加一个“fq”参数并标记过滤器,如下所示:
q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&facet=on&facet.field={!ex=dt}doctype
从主要的 SOLR 帮助文档中,这将过滤“doctype:pdf”,但还会在构面输出中包含其他文档类型的计数 - 这对我来说也很好,我只是想在 Elasticsearch 中重新创建它。
到目前为止,我已经尝试了一个“post_filter”,它可以完成这项工作,直到我希望应用的过滤器不再是一个过滤器(再次,SOLR 可以毫无问题地处理)。您可以在以下位置查看其工作原理以及我希望如何实现它的示例:
在结果右侧的过滤器/构面中,您可以选择多个“合同类型”和/或“工作类型”和/或“位置”,但仍会显示未选择查询/过滤器的构面计数。请注意,时薪、年薪和添加日期没有此功能 - 这是设计使然。
任何关于我应该如何构建我的查询的指针都会非常感激。
【问题讨论】:
标签: solr elasticsearch