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

Reply via email to