我需要索引具有以下数据结构的专利目录:
"cpc": [
{
"class": "61",
"section": "A",
"sequence": "1",
"subclass": "K",
"subgroup": "06",
"main-group": "45",
"classification-value": "I"
},
{
"class": "61",
"section": "A",
"sequence": "2",
"subclass": "K",
"subgroup": "506",
"main-group": "31",
"classification-value": "I"
}
]
我想知道这里的正确方法是什么。我或许可以使用cpc.class并将它与multiValued =" true"组合。
我想查找与某个CPC代码匹配的文档。 CPC代码可以是部分代码。现在我的解决方案只是使用multiValued = true的嵌套引用。有没有更好的方法呢?
<field name="cpc.class" type="int" indexed="true" stored="true" multiValued="true" />
<field name="cpc.section" type="string" indexed="true" stored="true" multiValued="true" />
<field name="cpc.sequence" type="int" indexed="true" stored="true" multiValued="true" />
<field name="cpc.subclass" type="string" indexed="true" stored="true" multiValued="true" />
<field name="cpc.subgroup" type="int" indexed="true" stored="true" multiValued="true" />
<field name="cpc.main-group" type="int" indexed="true" stored="true" multiValued="true" />
<field name="cpc.classification-value" type="string" indexed="true" stored="true" multiValued="true" />
此实现的问题在于它返回的文档实际上与搜索条件不匹配。示例:
"cpc.section:A",
"cpc.class:61",
"cpc.subclass:Q",
"cpc.main-group:8"
我得到没有这种组合的文件。我认为当前的方式实现了搜索,因此每个字段都是一个列表,并返回任意组合的匹配值。我需要缩小范围,以便只返回正确的组合。
答案 0 :(得分:0)
使用Solr对此进行索引的最佳方法是将嵌套数据结构(cpcs)拆分为平面文档,并在其中包含patent_id。这样就可以搜索到部分cpcs的任意组合。