【问题标题】:Migrating SOLR fq to Elasticsearch将 SOLR fq 迁移到 Elasticsearch
【发布时间】: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 可以毫无问题地处理)。您可以在以下位置查看其工作原理以及我希望如何实现它的示例:

https://www.jobsinhealthcare.co.uk/search?latitude=&longitude=&title=&location=&radius=5&type=&salary=0&frequency=year&since=&jobtype=&keywords=&company=&sort=Most+recent&filter[contract_type_estr][33d5667c]=Temporary&filter[job_type_estr][5d370027]=Part+time&filter[job_type_estr][4b45bd05]=Full+time

在结果右侧的过滤器/构面中,您可以选择多个“合同类型”和/或“工作类型”和/或“位置”,但仍会显示未选择查询/过滤器的构面计数。请注意,时薪、年薪和添加日期没有此功能 - 这是设计使然。

任何关于我应该如何构建我的查询的指针都会非常感激。

【问题讨论】:

    标签: solr elasticsearch


    【解决方案1】:

    【讨论】:

    • 我不想要全局聚合,我希望它尊重搜索条件但也提供其他建议。在我的情况下,全局聚合将是愚蠢的,因为这些方面将没有任何上下文。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多