0

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

  1. 特征
  2. Features_Score

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

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

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

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

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

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

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

4

1 回答 1

2

这可以通过定义动态字段来实现。

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

例如

durability_feature=11

架构.xml

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

因此,您可以输入durability_feature具有相应特征分数的数据。

过滤器查询将能够匹配确切的映射fq=durability_feature > 10

于 2013-05-07T07:33:28.473 回答