Page MenuHomePhabricator

site.search 'where'-parameter does not work
Closed, ResolvedPublic

Description

using another value for 'where' parameter does not work.

First where parameter must be 'title', not 'titles':

>>> import pwb, pywikibot as py
>>> s = py.Site()
>>> gen = s.search('Tabellenletztem', where='title')
WARNING: search: namespaces cannot be empty; using [0].
>>> x = [i for i in gen]
WARNING: API error gsrunknown_gsrwhat: Unrecognized value for parameter 'gsrwhat': titles

Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    x = [i for i in gen]
  File "pywikibot\data\api.py", line 2727, in __iter__
    self.data = self.request.submit()
  File "pywikibot\data\api.py", line 2179, in submit
    raise APIError(**result['error'])
APIError: gsrunknown_gsrwhat: Unrecognized value for parameter 'gsrwhat': titles [help:See https://de.wikipedia.org/w/api.php for API usage]

(see also line 4428, in site.search)

Then 'title' is deprecated:

...
>>> x = [i for i in gen]
WARNING: API error gsrsearch-title-disabled: title search is disabled

Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    x = [i for i in gen]
  File "pywikibot\data\api.py", line 2727, in __iter__
    self.data = self.request.submit()
  File "pywikibot\data\api.py", line 2179, in submit
    raise APIError(**result['error'])
APIError: gsrsearch-title-disabled: title search is disabled [help:See https://de.wikipedia.org/w/api.php for API usage]

At least site.seach is a breaking change versus compat release which uses a ListGenerator ans returns search properties like snippets.

Event Timeline

Xqt triaged this task as High priority.Feb 23 2016, 9:43 AM

I looked to the documentation.

mw 1.11:

titles: Search in page titles (default) (disabled on Wikimedia wikis, use srwhat=text instead)

mw >= 1.11:

Search inside the text or titles. (Default: title (if search engine doesn't support title searches, such as Lucene which was previously used by Wikipedia, then srwhat=title falls back to text))

Anyway 'nearmatch' works with mw 1.17+

Change 273015 had a related patch set uploaded (by Xqt):
[bugfix] gsrwhat parameter for site.search differs for several mw versions

https://gerrit.wikimedia.org/r/273015

Change 273015 merged by jenkins-bot:
[bugfix] gsrwhat parameter for site.search differs for several mw versions

https://gerrit.wikimedia.org/r/273015

jayvdb assigned this task to Xqt.