代码之家  ›  专栏  ›  技术社区  ›  Coderino Javarino

solr-强制方面显示当前不在任何文档中的枚举字段

  •  0
  • Coderino Javarino  · 技术社区  · 6 年前

    我有一个可以知道字符串值集的字段,它是 枚举域 类型。

    有强制的方法吗 索尔 返回它的所有方面值?这个 facet.mincount=0 属性仅在存在具有相应方面字段值的现有文档时有效,但在当前搜索中使用例如FQ筛选出这些文档。

    但是,如果没有当前文档具有该值,则根本不会显示该值。


    我有一块地 type ,它定义为枚举,并且可以具有值 A B . 假设我已经导入了这些文档:

    [{
     "name_s": "Doc 1",
     "type": "A",
     "user_s": "Foo"
    }, {
     "name_s": "Doc 2",
     "user_s": "Bar"
    }]
    

    如果我在字段上进行方面查询 类型 使用用户“bar”的过滤器查询,返回的唯一方面值是“a”,计数为0。我的目标是强制它在这种情况下同时返回值“a”和“b”(并且两个值都为0)。

    3 回复  |  直到 6 年前
        1
  •  1
  •   Coderino Javarino    6 年前

    根据邮件列表,目前这是不可能的。

        2
  •  0
  •   Aman Tandon    6 年前

    如果您对查找字段类型中存在的所有术语很好奇,可以使用solr的术语组件轻松地找到它。

    Doc: https://lucene.apache.org/solr/guide/6_6/the-terms-component.html

    Doc用于版本6.6,您可以相应地更改当前正在使用的版本。

    以下是示例URL: http://localhost:8983/solr/collection/terms?terms.fl=type

        3
  •  -1
  •   Tomer Arazy    6 年前

    你可以通过使用 tagging and excluding filters :

    首先标记筛选查询: fq={!tag=my_tag}user_s:Bar

    然后在方面中使用exclude标记: facet.field={!ex=my_tag}type