我正致力于使用Solr制作可搜索的书籍目录。我写了一个查询,获取我感兴趣的使用DataImportHandler的所有信息。每本书可以有多种格式,并且每种格式都有自己的ISBN,格式名称和价格,这被表示为逗号分隔值,如下所示:Solr数据导入:连接几个逗号分隔的字段
| id | title | isbns | prices | formats |
|-------------------------------------------------------------|
| 1 | A Book | isbn1,isbn2 | price1,price2 | fmt1,fmt2 |
| 2 | Another | anisbn | aprice | aformat |
... ... ...
我目前使用RegexTransformer和splitBy使我可以制作isbns,价格和格式multiValued字段进行分面。但是,理想情况下,我希望能够单独提取这些值并将它们存储在索引中的另一个字段中。换句话说,对于书与本例中的ID为1,我想用来存储下列字段的字符串:
字段1:“FMT1(isbn1):价格1”
字段2:“FMT2 (isbn2):price2“
Solr是否可以这样做?我总是可以在应用程序端取出字段并处理它们,但由于此Solr索引将有多个客户端执行查询,所以我宁愿在构建索引时存储额外的值。
那仍然只给我一个输出字段。理想情况下,我希望拥有与每个字段中逗号分隔的值(isbns,价格和格式)相同的字段。然后我会在我的schema.xml中的统一值将去的地方有字段命名为“aggregate1”,“aggregate2”和“aggregate3”。 – Andrew
我向我的帖子添加了解释。见编辑。 –
完美。非常感谢你澄清。这正是我一直在寻找的。 – Andrew