这可能是一个糟糕的标题......
但是,假设我在多值字段中有一堆字符串
<field name="stringweights" type="text_nostem" indexed="true" stored="true" multiValued="true"/>
示例数据可能是:
history:10
geography:33
math:29
现在我想写一个fq,我在solr中选择所有记录:
是否可以编写类似的solr查询?
(不可能在名为“geography”的solr模式中创建一个整数字段,另一个名为“math”等,因为字段的这些字符串部分在设计时是未知的,可能是数百/数千个不同的值。 )
答案 0 :(得分:1)
您可能需要查看dynamic fields。在模式中声明一个动态字段,如:
<dynamicField name="stringweight_*" type="integer" indexed="true" stored="true"/>
然后你可以拥有你的文档:
stringweight_history: 10
stringweight_geography: 33
stringweight_math: 29
您的过滤器查询就是:
fq=stringweight_geography:[10 TO *]
您可能需要构建自定义索引器才能执行此操作。或者使用带有数据导入处理程序的脚本转换器,如下所述:Dynamic column names using DIH (DataImportHandler)。