我想在嵌套的Solr文档中提供“无域搜索”,其中父母和孩子的字段很多。
用户应仅指定几个搜索词。可能的结果应在
中包含所有这些术语这意味着术语匹配不应该分布在几个孩子上。
要搜索的字段数是可变的,并取决于所选视图(可能仅是父字段或父子字段)。
示例:
如果索引了以下嵌套文档:
[
{
"title": "document 1",
"text": "example doc text a",
"_childDocuments_": [
{
"childTitle": "s1a",
"childText": "child tok1a",
"type": "child",
"id": "1_a"
},
{
"childTitle": "s1b",
"childText": "child tok1b",
"type": "child",
"id": "1_b"
}
],
"type": "parent",
"id": "1"
}
]
然后这些查询应与文档匹配:
但是下面列出的查询不应与文档匹配:
我尝试在带有标题和childTitle的视图上针对每个搜索词进行过滤查询,例如
query: document s1a
fq=title:document {!parent which="type:parent"}childTitle:document
fq=title:s1a {!parent which="type:parent"}childTitle:s1a
query: s1a s1b
fq=title:s1a {!parent which="type:parent"}childTitle:s1a
fq=title:s1b {!parent which="type:parent"}childTitle:s1b
第二个查询将文档作为匹配项发送,但匹配的词条分布在2个子项上,这违反了要求。
有什么方法可以用Solr来实现吗?