Umbraco - 搜索所有父母列表中孩子的文档的所有字段

时间:2016-06-01 08:29:21

标签: umbraco umbraco7

我们的Umbraco 7网站有以下4个顶级节点。

1 - Home 1 (Language 1)
2 - Home 2 (Language 2)
3 - Discuss (Bilingual, i.e. Language 1 and Language 2)
4 - Buy (Bilingual, i.e. Language 1 and Language 2)

根据用户是在语言1还是语言2页面上,我想搜索所有1,3,4的孩子的所有文档的所有字段(如果当前页面是语言1)或2,3,4(如果当前页面是语言2)。

到目前为止,我一直在使用非常基本的搜索,用户只需在文本框中输入值“查询”:

IEnumerable<IPublishedContent> c = Umbraco.TypedSearch(query);

这是理想的,除了它扫描所有文件(即1,2,3和4的根和子),并且不排除1或2子女的文件,具体取决于语言。

相信我需要为语言1和语言2设置检查搜索提供程序和检查索引,但我不确定如何设置多个IndexParentId值,也不知道如何扫描所有字段所有文件。

有人能指出我正确的方向吗?

我意识到扫描所有字段可能并不总是一个好主意,但是我们目前在我们的doc类型中包含“内容”的部分有许多不同的字段名,所以现在这对我来说是最好的方法。

(我最初在一周前在Umbraco论坛上发布了这个,但没有回复,因此我的帖子就在这里)

1 个答案:

答案 0 :(得分:0)

您可以按路径过滤查询。

Say语言1根节点ID为100,语言2根节点ID为200.然后,如果您使用的是语言1,则查询路径不包含200的页面,反之亦然。

像这样:http://www.attackmonkey.co.uk/blog/2011/12/limiting-an-examine-search-to-the-current-site