Nschaaf has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/327197 )
Change subject: Use related_articles search in GapFinder
......................................................................
Use related_articles search in GapFinder
Also, add a search parameter to GapFinder to
dynamically change which search provider is being
used.
Bug: T153192
Change-Id: Id8ae58cd195e64be00d66cb5dab6a8ca571f1638
---
M recommendation/api/external_data/fetcher.py
M recommendation/api/types/translation/candidate_finders.py
M recommendation/data/labs_setup.sh
M recommendation/data/recommendation.ini
M recommendation/web/gapfinder.py
M recommendation/web/static/gf-input.tag
M recommendation/web/templates/index.html
7 files changed, 21 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/research/recommendation-api
refs/changes/97/327197/1
diff --git a/recommendation/api/external_data/fetcher.py
b/recommendation/api/external_data/fetcher.py
index 6d6fdf7..c68157a 100644
--- a/recommendation/api/external_data/fetcher.py
+++ b/recommendation/api/external_data/fetcher.py
@@ -111,5 +111,5 @@
def get_related_articles(source, seed):
- return
get('http://recommend-related-articles.wmflabs.org/types/related_articles/v1/articles',
- dict(source=source, seed=seed, count=500))
+ endpoint = configuration.get_config_value('endpoints', 'related_articles')
+ return get(endpoint, dict(source=source, seed=seed, count=500))
diff --git a/recommendation/api/types/translation/candidate_finders.py
b/recommendation/api/types/translation/candidate_finders.py
index ba73bf2..53a8d8b 100644
--- a/recommendation/api/types/translation/candidate_finders.py
+++ b/recommendation/api/types/translation/candidate_finders.py
@@ -118,6 +118,7 @@
def get_candidates(self, s, seed, n):
results = fetcher.get_related_articles(s, seed)
if len(results) == 0:
+ log.info('Failed related_articles search. Reverting to morelike.
Source: %s Seed: %s', s, seed)
return MorelikeCandidateFinder().get_candidates(s, seed, n)
articles = []
diff --git a/recommendation/data/labs_setup.sh
b/recommendation/data/labs_setup.sh
index 377b2d1..9042509 100755
--- a/recommendation/data/labs_setup.sh
+++ b/recommendation/data/labs_setup.sh
@@ -5,7 +5,7 @@
TMP_PATH='/tmp/recommendation'
apt-get update
-apt-get install -y git nginx npm python3 python3-pip
+apt-get install -y git nginx npm python3 python3-pip libpython3.4
pip3 install --upgrade pip
rm -rf ${TMP_PATH}
@@ -17,8 +17,8 @@
git clone https://gerrit.wikimedia.org/r/research/recommendation-api/wheels
${TMP_PATH}/wheels
git clone https://gerrit.wikimedia.org/r/research/recommendation-api
${TMP_PATH}/recommendation-api
-pip3 install --use-wheel --no-deps ${TMP_PATH}/wheels/wheels/*.whl
-pip3 install --no-deps ${TMP_PATH}/recommendation-api
+pip install --use-wheel --no-deps ${TMP_PATH}/wheels/wheels/*.whl
+pip install --no-deps ${TMP_PATH}/recommendation-api
ln -s /usr/bin/nodejs /usr/bin/node
cd ${TMP_PATH}
diff --git a/recommendation/data/recommendation.ini
b/recommendation/data/recommendation.ini
index 98f5217..b99b327 100644
--- a/recommendation/data/recommendation.ini
+++ b/recommendation/data/recommendation.ini
@@ -4,6 +4,7 @@
wikipedia = https://{source}.wikipedia.org/w/api.php
wikidata = https://www.wikidata.org/w/api.php
event_logger = https://meta.wikimedia.org/beacon/event
+related_articles =
https://recommend-related-articles.wmflabs.org/types/related_articles/v1/articles
[popular_pageviews]
query = ${endpoints:pageviews}/top/{source}.wikipedia/all-access/{date}
@@ -58,6 +59,7 @@
[gapfinder]
resource_path = /srv/recommendation/resources
+default_search = related_articles
[logging]
format = %(asctime)s %(name)s %(funcName)s():%(lineno)d %(levelname)s --
%(message)s
diff --git a/recommendation/web/gapfinder.py b/recommendation/web/gapfinder.py
index 02f4a85..8c94f77 100644
--- a/recommendation/web/gapfinder.py
+++ b/recommendation/web/gapfinder.py
@@ -13,6 +13,7 @@
s = request.args.get('s')
t = request.args.get('t')
seed = request.args.get('seed')
+ search = request.args.get('search')
pairs = language_pairs.get_language_pairs()
return render_template(
'index.html',
@@ -21,7 +22,9 @@
s=s,
t=t,
seed=seed,
- event_logger_url=configuration.get_config_value('endpoints',
'event_logger')
+ search=search,
+ event_logger_url=configuration.get_config_value('endpoints',
'event_logger'),
+ default_search=configuration.get_config_value('gapfinder',
'default_search')
)
diff --git a/recommendation/web/static/gf-input.tag
b/recommendation/web/static/gf-input.tag
index 04892f5..c253f07 100644
--- a/recommendation/web/static/gf-input.tag
+++ b/recommendation/web/static/gf-input.tag
@@ -39,6 +39,7 @@
self.target = '';
self.sourceLanguages = {};
self.targetLanguages = {};
+ self.search = '';
self.fetching = false;
self.sourceSelector = null;
self.targetSelector = null;
@@ -70,7 +71,7 @@
var seed;
if (this.seedArticle.value) {
- url += '&seed=' + encodeURIComponent(this.seedArticle.value);
+ url += '&search=' + self.search + '&seed=' +
encodeURIComponent(this.seedArticle.value);
seed = this.seedArticle.value;
}
@@ -320,6 +321,11 @@
self.origin = 'url_parameters';
}
+ self.search = window.translationAppGlobals.defaultSearch;
+ if (window.translationAppGlobals.search in ['morelike',
'related_articles']) {
+ self.search = window.translationAppGlobals.search;
+ }
+
// Check for cookies
var sourceLanguageCookieValue = getCookie('sourceLanguage');
var targetLanguageCookieValue = getCookie('targetLanguage');
diff --git a/recommendation/web/templates/index.html
b/recommendation/web/templates/index.html
index 60d550f..705caf2 100644
--- a/recommendation/web/templates/index.html
+++ b/recommendation/web/templates/index.html
@@ -61,6 +61,8 @@
s: '{{ s if s else '' }}',
t: '{{ t if t else '' }}',
seed: '{{ seed if seed else '' }}',
+ search: '{{ search if search else '' }}',
+ defaultSearch: '{{ default_search }}',
personalBlacklistKey: 'personal.blacklist',
globalBlacklistKey: 'not.notable.blacklist',
--
To view, visit https://gerrit.wikimedia.org/r/327197
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id8ae58cd195e64be00d66cb5dab6a8ca571f1638
Gerrit-PatchSet: 1
Gerrit-Project: research/recommendation-api
Gerrit-Branch: master
Gerrit-Owner: Nschaaf <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits