我想通过基于MediaWiki软件的维基搜索一个使用模板“underconstruction”并标记为“abcd”的页面列表。如何才能做到这一点?
使用AdvancedSearch扩展名,就像在Wikipedia上一样,允许您指定高级搜索选项。
类似于此的查询可能有效:
/w/api.php?action=query&format=json&prop=templates&list=categorymembers&tltemplates=underconstruction&cmtitle=Category%3AAbcd&cmprop=ids%7Ctitle
首先你需要install CirrusSearch扩展。这将优化搜索功能,并使搜索速度非常快。
之后,您可以使用内置关键字来优化搜索。例如,使用以下关键字:
incategory:"THE-NAME-HERE"
用它来搜索类别名称中的所有页面。hastemplate:"THE-NAME-HERE"
用它来搜索包含特定模板的所有页面。但是,如果您需要获取具有特定类别的所有页面,则特定模板使用此:
incategory:"underconstruction" hastemplate:"abcd"
有关更多搜索优化,请参阅this link