我们可以在使用Lucene进行搜索时在templateId中分配多个模板ID(就像我们在relatedId中所做的那样)吗?如果用户选择“全部搜索”,我有五个复选框,然后我们只传递索引名称并获得结果,如果用户选择模板特定复选框之一,我们可以再次传递模板名称,但如果任何一个复选框(或三个)中有两个模板检查,然后?我们可以通过管道传输单独的templateID吗?您可能需要更改高级数据库爬虫中的方法来处理传入模板的GUID。SearchParam类有一个名为TemplateIds的属性,复数表示它应该允许多个。但是,如果您查看代码,就会发现它是这样使用的:templateIds=IdHelper.NormalizeGuid(templateIds);NormalizeGuid()方法实际上只返回一个GUID。所以我建议你在这里更改ApplyTemplateFilter()方法以返回多个模板GUID:templateIds=IdHelper.NormalizeGuid(templateIds);varfieldQuery=newFieldQuery(BuiltinFields.Template,templateIds);query.Add(fieldQuery,occurrence);因此,更改templateIds=IdHelper.NormalizeGuid(templateIds)以处理多个GUID,可能通过拆分输入获取每个GUID然后规范化每个GUID并通过|再次组合它们。按照Mark的说法,可以使用以下函数实现:以上是C#学习教程:我们可以在使用Lucene搜索的同时,在templateId中分配多个模板ID(就像我们在relatedId中所做的那样)吗?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注~))返回;varfieldQuery=newCombinedQuery();varvalues=IdHelper.ParseId(templateIds);foreach(varvalueinvalues.Where(ID.IsID)){AddFieldValueClause(fieldQuery,BuiltinFields.Template,value,QueryOccurance.Should);}query.Add(fieldQuery,QueryOccurance.Must);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
