Allow searching in intersections, etc. of categories
OpenPublic

Description

As a Wikipedia user I want to be able to perform category intersection search.

See
https://de.wikipedia.org/wiki/Wikipedia:Umfragen/Technische_W%C3%BCnsche/Top_20#.E2.80.9ECatScan-Funktionalit.C3.A4t.E2.80.9C_in_die_Software_integrieren(in German).

This is part of the Top 20 wishes of the German community

Author: chtitux

Description:
The actual system of the categories is not adapted for Wikipedia.
Wikipedia is too big. The search Engine is not very good. We need a good
classement system.
The categories system has a big defect : We can't cross it.
An exemple : Victor Hugo. The article [[fr:Victor Hugo]] has lot of cats :
1802 births | 1885 deaths | French dramatists and playwrights | French poets |
French novelists | French-language poets | Members of the Académie française |
Romantic poets | Novelists | Spiritualists | Former Students of Lycée
Louis-le-Grand | Natives of Besançon | People buried at the Panthéon

Well, now, I can know all personns "Born in 1802", "French Poets", etc. (I go on
[[Cat:1802 births]], [[Cat:French poets]].
But I can't know "French Poets" "born in 1802". I will be able to know if
[[Cat:French poets]] is IN [[Cat:1802 births]].
So, here is my new Idea :
We add Tags on the pages. i.e. : %%Men%%, %%Born in 1878%%, %%Poetry%%
We can navigate and search articles with some tags, with exclusive requests (or
not) :

  • 'Men Writer Writer AND Poetry'
  • 'Men Writer or Poetry'
  • 'Men Writer Xor Poetry', etc.

I don't know the limts of the system. I think add "Recommanded Tags" would be
good. You will be able to surf as
I search a Town, Lille, in France, in Nord country.
"Well, in the Tag France, I search a Town" -> I get all french towns. I search
French Towns in Nord -> I see Lille !"

What do you think about that ?


Version: unspecified
Severity: enhancement
Whiteboard: cirrus-fixed

bzimport added a project: MediaWiki-Categories.Via ConduitNov 21 2014, 9:08 PM
bzimport added a subscriber: Unknown Object (MLST).
bzimport set Reference to bz5244.
bzimport created this task.Via LegacyMar 13 2006, 8:54 PM
brion added a comment.Via ConduitMar 13 2006, 10:10 PM

Categories in MediaWiki are tags. That's the same thing.

bzimport added a comment.Via ConduitMar 14 2006, 11:59 AM

chtitux wrote:

(In reply to comment #1)

Categories in MediaWiki are tags. That's the same thing.

Not exactly ...
In fact, categories are good. But I want to add a new feature : search with the
categories.
I want search i.e. "Poets" AND "Writer".
Now, I can navigate in [[Category:Writers]]. I can go from it in
[[Category:Writers by language]] . The, in [[Category:Yiddish writers]] . Then,
in [[Category:Yiddish-language poets]] . I works.
But I don't want that. I want to have a multi possibility research. I want
search a "Yeddish man" and an "Astronomer".
Categories don't allow that.

I want just the possibility to *cross the categories*. Make cross categories
search with logic operator (Or, Xorg, And).
Just that. If my english is too bad, contact me :)

bzimport added a comment.Via ConduitMar 14 2006, 6:32 PM

Wiki.Melancholie wrote:

Have a look on "CatScan" to see how it could work (currently there is a search
restriction to 1.000 articles, so you have to play around a bit):
http://tools.wikimedia.de/~daniel/WikiSense/CategoryIntersect.php?wikilang=en&basecat=French+poets&tagcat=Writers&userlang=en

bzimport added a comment.Via ConduitMar 14 2006, 11:50 PM

robchur wrote:

Changing summary to reflect the real request. 95% sure this is a dupe.

bzimport added a comment.Via ConduitMar 15 2006, 3:31 AM

Wiki.Melancholie wrote:

*** Bug 3972 has been marked as a duplicate of this bug. ***

bzimport added a comment.Via ConduitApr 10 2006, 8:19 PM

jmfayard wrote:

What would be REALLY useful is to have ways to indicate in a category what are
the criterias you most likely want to combine the current category with.

For example, http://en.wikipedia.org/wiki/Category:Scientists would contain
<search name="Speciality">

  • Astronomers
  • Biologists
  • Chemists
  • Cognitive scientists
  • Computer scientists
  • Cyberneticists
  • Earth scientists
  • Fictional scientists
  • Game theorists
  • Gerontologists

.....
</search>
<search name="Nationality">

  • French
  • English
  • German
  • US

</search>
<search name="Gender">
Male
Female
</search>
<serach name="Born in">

  • XVII century
  • XVIII century
  • XIV century
  • XX century

</search>

The first search element is displayed like the subcategories are now.
The others are options which allows to combine [[Category:Scientists]] with
[[Category:Born in the XX century]]

bzimport added a comment.Via ConduitApr 28 2006, 3:53 AM

Wiki.Melancholie wrote:

*** Bug 5740 has been marked as a duplicate of this bug. ***

bzimport added a comment.Via ConduitMay 2 2006, 2:51 PM

koneko wrote:

I kinda agree with chtitux's general idea (having simple categories and a
"multi-criteria-search" in them), because the current category thing is becoming
more and more heavy to maintain.

(..but I didn't quite undertsand what JM Fayard was trying to explain, it seems
like a clearly different thing ^^;)

bzimport added a comment.Via ConduitMay 11 2006, 10:48 AM

peu wrote:

*** Bug 1106 has been marked as a duplicate of this bug. ***

daniel added a comment.Via ConduitMay 11 2006, 10:51 AM

For a way to search for articles by "properties", have a look at
[[meta:Semantic_MediaWiki]]

bzimport added a comment.Via ConduitMay 11 2006, 5:11 PM

loustyx wrote:

See also [[metawikipedia:Improving categories|Improving categories]] (many
supporters)

bzimport added a comment.Via ConduitMay 11 2006, 5:17 PM

loustyx wrote:

[http://meta.wikimedia.org/wiki/Improving_categories Improving categories]

(a "preview" should be great ;)

brion added a comment.Via ConduitMay 29 2006, 5:06 AM
  • Bug 6127 has been marked as a duplicate of this bug. ***
bzimport added a comment.Via ConduitJun 1 2006, 11:56 AM

cyberskull wrote:

Here is what I put in Bug 6127:

I'd like to request a cross referencing search for categories applying simple boolean logic. Examples:

The intersection of Category:A and Category:B (all items in common)
The exclusion of Category:A and Category:B (all items not in common)
The union of Category:A and Category:B (all items)

And I'd like to request some sort of wikilink namespace for doing this, such as [[intersect:A:B]] and support for more than 2 categories to be searched. And an
option to include subcategories and specify how deep to go.

bzimport added a comment.Via ConduitJun 14 2006, 3:11 AM

ayg wrote:

Tweaked summary.

bzimport added a comment.Via ConduitJun 17 2006, 9:17 AM

chtitux wrote:

See [[en:Wikipedia:Category math feature]] ,
[[meta:User:Aerik/Intersections_code]], [[meta:Category math]],
[[meta:Talk:Category math]] etc.
A little demo is available here :
http://www.wikidweb.com/index.php?title=Special:Intersections

bzimport added a comment.Via ConduitJun 30 2006, 5:03 PM

robchur wrote:

*** Bug 6499 has been marked as a duplicate of this bug. ***

bzimport added a comment.Via ConduitJun 30 2006, 5:59 PM

lar wrote:

6499 seems to be asking for something a bit different but I may have
misinterpreted it.

bzimport added a comment.Via ConduitJun 30 2006, 6:34 PM

ayg wrote:

Nope, it's the same.

"Consider a company intranet that includes these categories:

  • Person
  • Project
  • Department
  • Department:Admin
  • Department:Sales
  • Department:Dev

Wouldn't it be great to be able to list all the projects in Sales, or all the
persons in Admin, without sacrificing the ability to list either all projects,
or all persons, or all pages under Sales, as the subcategory would?"

"All the projects in Sales" = "the intersection of Category:Project and
Category:Department:Sales". All the persons in Admin = "the intersection of
Category:Person and Category:Department:Admin". See [[Intersection (set theory)]].

bzimport added a comment.Via ConduitJun 30 2006, 6:57 PM

lar wrote:

No, that one seems to be referring to GUI stuff, not just the intersection
capability, which I agree is the same, but again, I may have misread it...
thanks for the reminder about intersection theory though.

bzimport added a comment.Via ConduitJun 30 2006, 7:00 PM

ayg wrote:

I'm not sure what you're saying. Obviously this feature is going to have to
have a GUI, however it's implemented.

bzimport added a comment.Via ConduitJul 1 2006, 4:49 AM

lar wrote:

6499 speaks of: "A special kind of category page might be the simplest way, but
the most useful would be a plugin
for inling the results o such a query." which seems different, as it refers to
plugins and so forth, while this one does not. The underlying set manipulation
to make it work would be the same. Perhaps that one is an enhancement of this
one? Or close enough to a dup not to matter for now? Maybe this is a moot point?

bzimport added a comment.Via ConduitJul 3 2006, 7:50 AM

joachim.lous wrote:

I registred 6499, somehow managing to not find this one in my searches.
As has been said, the underying boolean search is the same. The only
significant difference is that 6499 is concerned with stored searches,
not interactive ones. It would of course make no sense to not add the same
feature to user searches at the same time, but stored searches are much more
empowering, and useful for building/struturing the content structure of a
wiki in a way compatible with the Wiki way of thought. The most visible
instance of stored searches in mediawiki is precisely category pages,
which even with their very limited searching functionality add imensely
to the power and usabilty.

But I suppose intersections (etc.) and stored searches are really separate
features, just with a really useful crossing point, and should be treated as such.

bzimport added a comment.Via ConduitSep 5 2006, 1:50 AM

wantman wrote:

Several of us are working on a proposal at [[en:Wikipedia:Category
intersection]]. It envisions how this would work, has mock-ups for category
intersection pages, and includes an interface for requesting intersections from
any article page. There seems to be a technical question as to whether this
will be too much of a burden on the servers. What is required to implement this?

bzimport added a comment.Via ConduitSep 5 2006, 4:49 AM

ayg wrote:

Most likely: Tim deciding to write it. Could be one of a couple of other people
too, but I'd hazard a guess that Tim is most likely, in the fullness of time.
Any patch submitted would have to be looked over by someone like Tim, Brion, or
Domas anyway to decide whether the load increase is acceptable, and I suspect it
would require a lot of skill to write it that well even if you could get one of
them to look it over, so that route is unlikely. If you want this done, well,
get everyone to vote for the bug and hope someone appropriate notices one day.
(Cf.: bug 164, bug 708, bug 57.)

bzimport added a comment.Via ConduitSep 9 2006, 4:04 PM

xyzzyx39 wrote:

I have written the following PHP script that allows for category intersections.
Syntax is "Special:Intersect/Swedish people/Saxophone players"
Output is similar to that of Special:Shortpages etc.
This has been tested on my local wiki. It includes a simple GUI to find related
intersections.
I do not have SubVersion access but maybe one of the developers could take a
look at this?

Regarding database access, it does a SELECT from wi_pages with an INNER_JOIN for
each category to be intersected.
If necessary, it is easy to restrict this to a maximum of, say, five categories.
The related-intersections GUI does two additional queries per category, to find
parent and child categories.
(however, this GUI can be disabled in config).

[[[FILE:includes/SpecialIntersect.php]]]
<?php
/**

  • @package MediaWiki
  • @subpackage SpecialPage */

/**

  • @package MediaWiki
  • @subpackage SpecialPage */

    The following line should be added to SpecialPage.php: 'Intersect' => array( 'SpecialPage', 'Intersect' ),

    The following line should be added to QueryPage.php: array( 'IntersectPage', 'Intersect' ),

    The following line should be added to Messages.php: 'intersect' => 'Category intersection',

    The following line should be added to LocalProperties.php: $wgIntersectVerbose = true; // (if need be, this can be changed to 'false' to reduce database load by

removing part of the interface)

The following MediaWiki pages should be created:
MediaWiki:Intersectheader "For help, go to [[Help:Intersect]].
Intersecting these categories:"
MediaWiki:Intersecterror "You need to specify at least two categories."
MediaWiki:Intersectsubmit "Intersection"
MediaWiki:Intersectparent "Parent categories"
MediaWiki:Intersectsubcat "Subcategories"

class IntersectPage extends PageQueryPage {

  var $request, $par;

  function IntersectPage( &$request, $cats ) {
    global $wgUser;
    $this->request =& $request;
    $this->skin =& $wgUser->getSkin();
    $this->cats = $cats;
  }

  function getName() {
    return "Intersect";
  }

  function sortDescending() {
    return false;
  }

  function isExpensive() {
    return true;
  }
	
  function isSyndicated() {
    return false; 
  }

  function getSQL() {
    $dbr =& wfGetDB( DB_SLAVE );
    extract( $dbr->tableNames( 'page', 'categorylinks' ) );
		
    $sql = "SELECT 'Intersect'     AS type,
      	            page_namespace AS namespace,
      	            page_title     AS title,
      	            page_title     AS value
      	    FROM $page ";
	
    $i = 0;
    $where = null;
    // TODO: maybe use /=talk/ (etc) to search a namespace
    foreach ($this->cats as $cat) if ($cat != null) {
      // functionality for 'exclude this cat'; it works but doesn't fit the GUI well
      /*if ($cat{0} == '-') {
        $sql .= "LEFT OUTER JOIN $categorylinks AS c".$i;
        $sql .= " ON page_id=c" .$i. ".cl_from";
        $sql .= " AND c" .$i. ".cl_to = '" . substr ($cat, 1) . "' ";
        if ($where != null) $where .= " AND ";
        $where .= "c" .$i. ".cl_to IS NULL ";
      } else */ {
        $sql .= "INNER JOIN $categorylinks AS c".$i;
        $sql .= " ON page_id=c" .$i. ".cl_from";
        $sql .= " AND c" .$i. ".cl_to = '" .$cat. "' ";
      }
      $i ++;
      // if ($i >= 5) break; // reduce DB load by using a maximum of five categories
    }
    if ($where != null) {
      $sql .= " WHERE " .$where;
    }
    return $sql;
  }

}

/**

  • Constructor */

function wfSpecialIntersect($par = NULL) {

list( $limit, $offset ) = wfCheckLimits();

global $wgRequest;
global $wgOut;
global $HTTP_GET_VARS;
global $wgIntersectVerbose;

//R/ take information from HTTP get, or from parameter
if ($HTTP_GET_VARS["cats"] != null) {
  $cats = $HTTP_GET_VARS["cats"];
} else if ($par != null) {
  $cats = explode ("/", rtrim ($par, '/'));
}

// display header and list of categories
$count = 0;
if ($wgIntersectVerbose != true) {
  
  // terse mode - a short list of categories
  $s = (wfMsg( 'intersectheader' ));
  if ($cats != null) {
    foreach ($cats as $cat) if ($cat != null) {
      $count ++;
      $s .= $i;
      $i  = "; ";
      $s .= '[[:' . Title::makeTitle (NS_CATEGORY, ltrim ($cat,

'-'))->getPrefixedText() . ']]';

    }
  }
  $wgOut->addWikiText ($s . ".");
} else {

  // verbose mode - browser with pulldown menus
  $wgOut->addWikiText (wfMsg( 'intersectheader' ));
  $dbr =& wfGetDB( DB_SLAVE );
  $fname = "Special:Intersect";
  extract( $dbr->tableNames( 'page', 'categorylinks' ) );

  $s = "<form action='" . Title::makeTitle( NS_SPECIAL, 'Intersect'

)->getLocalUrl() . "' method='get'>";

if ($cats != null) {
  foreach ($cats as $cat) if ($cat != null) {
    $count ++;
    $s .= "\n<select name='cats[]'>";

    $parent = $dbr->select( array ('page', 'categorylinks'), 'cl_to',
      "page_title = '" . $cat . "' AND page_id = cl_from AND page_namespace

" . NS_CATEGORY, $fname );

	if ( $parent != null ) {
      while ($row = $dbr->fetchRow($parent)) {
        $t .= "\n<option>" . $row[0];
      }
      if ($t != null) {
  	    $s .= "\n<optgroup label='" . wfMsg( 'intersectparent' ) . "'>" . $t

. "\n</optgroup>";

	  }
  }
  $s .= "\n<option selected>" . $cat . "\n<option>";
  
  $child = $dbr->select( array ('page', 'categorylinks'), 'page_title',
    "cl_to = '" . $cat . "' AND page_id = cl_from AND page_namespace = " .

NS_CATEGORY, $fname );

	if ( $child != null ) {
      while ($row = $dbr->fetchRow($child)) {
        $u .= "\n<option>" . $row[0];
      }
      if ($u != null) {
  	     $s .= "\n<optgroup label='" . wfMsg( 'intersectsubcat' ) . "'>" . $u

. "\n</optgroup>";

    	  }
      }
      
      $s .= "\n</select> ";
    }
  }
  if ($count == 0) {
    $s .= "<input type='text' name='cats[]'> ";
  }
  $s .= "<input type='text' name='cats[]'>";
  $s .= "<input type='submit' value='" . wfMsg( 'intersectsubmit' ) . "'></form>";
  $wgOut->addHtml ($s);
}

// intersect query is only meaningful if we have at least two cats
if ($count < 2) {
  $wgOut->addWikiText (wfMsg ( 'intersecterror' ));
  return null;
} else {
  $lpp = new IntersectPage($wgRequest, $cats);
  return $lpp->doQuery( $offset, $limit );
}

}

?>

bzimport added a comment.Via ConduitSep 19 2006, 4:10 PM

xyzzyx39 wrote:

Source code for Special:Intersect

In the zipfile, source code for a specialpage that does intersection, and some
bits of GUI to work that page, and a tweak that makes category redirects work
at the software level.

Attached: Intersect.zip

bzimport added a comment.Via ConduitMay 31 2007, 11:19 AM

dan.bolser wrote:

This comment is probably redundant given the lengthy discussion above, but here it is anyway...

My idea of nice system would be to slightly modify the 'category box' (the little blue box that appears at the bottom of a categorized page and lists all the categories that the page is in). If that box additionally had a search field, searches typed in that field should be limited to that set of categories.

i.e. My page about this particular dog...

+-----------------------------------------------------------------------------+

Category: Pages about dogsCategory: Pages by idiots_________ : SEARCH

+-----------------------------------------------------------------------------+

Typing a term in the search field above (please don't actually try it) and clicking search would limit your search to pages about dogs written by idiots. I know it is a trivial suggestion given the above generic ramblings, but it would be a nice, clear way to illustrate and deploy the cross classification search.

I don't know if this has been suggested before, but you should do it anyway.

bzimport added a comment.Via ConduitNov 2 2007, 12:10 PM

robchur wrote:

*** Bug 11851 has been marked as a duplicate of this bug. ***

bzimport added a comment.Via ConduitNov 25 2007, 7:49 AM

cannon.danielc wrote:

Comment on attachment 2372
Source code for Special:Intersect

Fix mime type.

Catrope added a comment.Via ConduitMay 19 2008, 9:36 PM
  • Bug 14186 has been marked as a duplicate of this bug. ***
Catrope added a comment.Via ConduitMar 24 2009, 1:32 PM
  • Bug 18118 has been marked as a duplicate of this bug. ***
bzimport added a comment.Via ConduitMar 30 2009, 9:08 PM

kevinjduke wrote:

I'm not sure how to do this but once we have patrolled revisions on en.wiki it would be nice if we could find pages under Special:Unpatrolled Revisions and Category:BLP

bzimport added a comment.Via ConduitJun 15 2009, 9:26 AM

rainman wrote:

*** Bug 19201 has been marked as a duplicate of this bug. ***

Bawolff added a comment.Via ConduitMar 11 2010, 4:04 AM

Note Bug 21395 is somewhat a duplicate of this bug, but not quite.

bzimport added a comment.Via ConduitJan 18 2011, 6:11 AM

donaama wrote:

Soon it will be half a dozen duplicates of this feature request that have been raised. Can we act on this sooner?

bzimport added a comment.Via ConduitJan 18 2011, 6:41 AM

daniellc wrote:

There has already been nine duplicates, not including the somewhat duplicate.

bzimport added a comment.Via ConduitJan 18 2011, 6:44 AM

donaama wrote:

Yes, I meant to say a dozen, rather than half. Point made anway.

Bawolff added a comment.Via ConduitJan 18 2011, 4:03 PM

(In reply to comment #38)

Soon it will be half a dozen duplicates of this feature request that have been
raised. Can we act on this sooner?

Having many duplicates doesn't change the fact its a difficult problem to solve efficiently.

As an aside, there is some limited support for categoryintersection via the various toolserver scripts - http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php . Additionally, the search box can kind of do category intersection if your search for incategory:first_category incategory:second_category. See [[Help:Searching]]. Both these are still far from what is being requested, but they may be helpful for your particular needs.

In regards to comment 28 - the issue is not making category intersection code - that is relatively easy and already exists in various extensions, like DynamicPageList. The issue is making it efficient for something on the scale of Wikipedia.

bzimport added a comment.Via ConduitJan 18 2011, 5:14 PM

daniellc wrote:

So, you can use that search trick to do it for intersections, but it can't be done efficiently? Can't you just make it do whatever that search trick does?

bzimport added a comment.Via ConduitJan 19 2011, 12:43 AM

ayg wrote:

Yes, one likely way to do this would be to use fulltext indexes like for search. However, someone still has to actually write the code, and that someone must be familiar with the performance issues involved (which makes the pool of possible patch-writers much smaller than for a typical bug).

Catrope added a comment.Via ConduitJan 21 2011, 7:47 PM

(In reply to comment #43)

Yes, one likely way to do this would be to use fulltext indexes like for
search. However, someone still has to actually write the code, and that
someone must be familiar with the performance issues involved (which makes the
pool of possible patch-writers much smaller than for a typical bug).

Extension:AdvancedSearch is a proof of concept for using fulltext indexes for category intersection that I wrote back in 2008. Someone had hired me to write it, and I never got around to committing it to SVN until the annual category intersection thread on wikitech-l started. I was encouraged to commit my code so others could adapt it to something more generic, but it was never touched apart from a few trivial changes.

demon added a comment.Via ConduitJun 2 2011, 4:13 AM
  • Bug 29243 has been marked as a duplicate of this bug. ***
brion added a comment.Via ConduitJun 2 2011, 5:50 PM
  • Bug 29243 has been marked as a duplicate of this bug. ***
jayvdb added a comment.Via ConduitOct 14 2011, 6:17 AM

This sort of works now with two "incategory" parameters

http://en.wikipedia.org/w/index.php?title=Special%3ASearch&search=incategory%3A%22Australian+beach+volleyball+players%22+incategory%3A%22People+from+Adelaide%22

What is missing is the ability to specify that we want to search in a category, and all subcategories. That is a performance problem, especially because the category structure does not need to be a hierarchical tree.

Vituzzu added a comment.Via ConduitNov 27 2012, 1:31 PM

(In reply to comment #47)

This sort of works now with two "incategory" parameters

http://en.wikipedia.org/w/index.php?title=Special%3ASearch&search=incategory%3A%22Australian+beach+volleyball+players%22+incategory%3A%22People+from+Adelaide%22

What is missing is the ability to specify that we want to search in a category,
and all subcategories. That is a performance problem, especially because the
category structure does not need to be a hierarchical tree.

It doesn't seem to work on it.wiki.

yuvipanda added a comment.Via ConduitApr 13 2013, 6:15 AM

I know that the E3 team started using Redis in a limited capacity to implement efficient 'random article from category' (can not find link right now, will update when I do). Perhaps we can use Redis / similar non-mysql database for things like this?

DCDuring added a comment.Via ConduitJul 25 2013, 8:01 PM

I am not clear as to whether any of the proposed solutions would work on categories not hard-coded in the page, ie implement in non-substed templates.

Which is to say should English Wiktionary have a bot create hard-coded categories for all important template-created categories so that available category intersection tools can be used?

liangent added a comment.Via ConduitOct 25 2013, 7:38 PM

(In reply to comment #48)

(In reply to comment #47)
> This sort of works now with two "incategory" parameters
>
> http://en.wikipedia.org/w/index.php?title=Special%3ASearch&search=incategory%3A%22Australian+beach+volleyball+players%22+incategory%3A%22People+from+Adelaide%22
>
> What is missing is the ability to specify that we want to search in a category,
> and all subcategories. That is a performance problem, especially because the
> category structure does not need to be a hierarchical tree.

It doesn't seem to work on it.wiki.

It works for me on itwiki:

https://it.wikipedia.org/w/index.php?search=incategory%3AGroenlandia+incategory%3A%22Isole+della+Danimarca%22+incategory%3ARecord&button=&title=Speciale%3ARicerca

Bawolff added a comment.Via ConduitOct 25 2013, 7:48 PM

(In reply to comment #51)

(In reply to comment #48)
> (In reply to comment #47)
> > This sort of works now with two "incategory" parameters
> >
> > http://en.wikipedia.org/w/index.php?title=Special%3ASearch&search=incategory%3A%22Australian+beach+volleyball+players%22+incategory%3A%22People+from+Adelaide%22
> >
> > What is missing is the ability to specify that we want to search in a category,
> > and all subcategories. That is a performance problem, especially because the
> > category structure does not need to be a hierarchical tree.
>
> It doesn't seem to work on it.wiki.

It works for me on itwiki:

https://it.wikipedia.org/w/index.
php?search=incategory%3AGroenlandia+incategory%3A%22Isole+della+Danimarca%22+
incategory%3ARecord&button=&title=Speciale%3ARicerca

The new search backend is supposed to bring this out of the realm of sort of working into the realm of always working.

Nemo_bis added a comment.Via ConduitOct 25 2013, 7:57 PM

(In reply to comment #52)

The new search backend is supposed to bring this out of the realm of sort of
working into the realm of always working.

Yeah, it.wiki is even voting CirrusSearch pioneering right now, with category intersection as one of the motives.
[[it:Wikipedia:Bar/Discussioni/Lanciamoci nel futuro motore di ricerca interno]]

jayvdb added a comment.Via ConduitOct 26 2013, 10:24 PM

(In reply to comment #50)

I am not clear as to whether any of the proposed solutions would work on
categories not hard-coded in the page, ie implement in non-substed
templates.

incategory: should work on categories added using templates. bug 18861 is the closest I can find.

Which is to say should English Wiktionary have a bot create hard-coded
categories for all important template-created categories so that available
category intersection tools can be used?

I hope not.

(In reply to comment #47)

What is missing is the ability to specify that we want to search in a
category,
and all subcategories. That is a performance problem, especially because the
category structure does not need to be a hierarchical tree.

this is bug 35402.

Does CirrusSearch address either of those problems?

Bawolff added a comment.Via ConduitOct 26 2013, 11:13 PM

It addresses the categories added via templates. It does not address bug 35402.

To be blunt, I don't expect bug 35402 to be fixed anytime soon. The infinite depth version I don't expect to really be fixed ever.

Bawolff added a comment.Via ConduitJan 30 2014, 2:52 AM

Yurik has a patch related to this bug at https://gerrit.wikimedia.org/r/#/c/109853/

To be blunt, I don't expect bug 35402 to be fixed anytime soon. The infinite
depth version I don't expect to really be fixed ever.

Oh look I'm wrong (sort of). Dschwen has implemented this as a stand-alone c deamon. See https://commons.wikimedia.org/wiki/Help:FastCCI

He7d3r awarded a token.Via WebNov 24 2014, 12:02 PM
Nemo_bis awarded a token.Via WebDec 12 2014, 8:04 AM
Kozuch awarded a token.Via WebDec 17 2014, 8:35 PM
Nemo_bis added a project: Epic.Via WebJan 2 2015, 7:01 PM
Nemo_bis set Security to None.
CennoxX awarded a token.Via WebFeb 3 2015, 9:46 AM
CennoxX added a subscriber: CennoxX.
MGChecker added a subscriber: MGChecker.Via WebMay 20 2015, 11:26 AM
Tobi_WMDE_SW moved this task to Backlog on the German-Community-Wishlist workboard.
Tobi_WMDE_SW moved this task to Sprint ready on the German-Community-Wishlist workboard.
Tobi_WMDE_SW added a project: TCB-Team.Via WebJun 1 2015, 2:36 PM
KasiaWMDE raised the priority of this task from "Low" to "Normal".Via WebJun 2 2015, 12:23 PM
KasiaWMDE added subscribers: Tobi_WMDE_SW, KasiaWMDE.
KasiaWMDE edited the task description. (Show Details)
KasiaWMDE moved this task to Work in progress (in Sprint) on the TCB-Team workboard.Via WebJun 3 2015, 10:17 AM
KasiaWMDE moved this task to Work in progress on the German-Community-Wishlist workboard.Via WebJun 3 2015, 11:08 AM
WMDE-Fisch claimed this task.Via WebWed, Jun 17, 8:58 AM
KasiaWMDE changed the title from "Allow searching in intersections, etc. of categories" to "Allow searching in intersections, etc. of categories ".Via WebWed, Jun 17, 9:39 AM
KasiaWMDE claimed this task.
jayvdb changed the title from "Allow searching in intersections, etc. of categories " to "Allow searching in intersections, etc. of categories".Via WebTue, Jun 23, 1:10 AM
Restricted Application added a subscriber: Luke081515. · View Herald TranscriptVia HeraldWed, Jul 1, 4:07 PM

Add Comment