【问题标题】:Solr: Querying 2 related multivalued fields of different typesSolr:查询2个不同类型的相关多值字段
【发布时间】:2013-05-07 06:51:11
【问题描述】:

我的产品文档中有 2 个多值字段:-

  1. 功能
  2. Features_Score

功能字段(类型:字符串)具有产品的多个功能。每个特征都有一个字符串值。 Features_Score(type : integer)是一个包含相应特征分数的并行多值字段。

显然,两个字段的编号相同。条目数

现在我想像这样查询 solr:-

给我所有那些 feature:'durability' 和 features_score > '10' 的产品(solr docs)。

我希望此查询返回所有具有耐用性功能的产品,并且该产品的耐用性功能得分应高于 10。

但是,这不会返回预期结果,因为特征和 features_score 字段之间没有映射(在索引级别)。

我应该如何实现这个? Solr 中是否有任何内置支持来执行此操作?

【问题讨论】:

    标签: solr lucene


    【解决方案1】:

    这可以通过定义dynamic fields 来实现。

    您需要修改架构以将带有 {feature name}_feature 的字段作为动态字段名称并将分数作为其值。
    这将帮助您将特征与其分数进行映射。

    例如

    durability_feature=11
    

    Schema.xml

    <dynamicField name="*_feature"  type="int"  indexed="true"  stored="true"/>
    

    因此您可以将数据输入为durability_feature,并带有相应的特征分数。

    过滤器查询将能够匹配精确的映射fq=durability_feature &gt; 10

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      相关资源
      最近更新 更多