Opened 5 years ago

Closed 5 years ago

#916 closed Bug (fixed)

Changes to /core/DataFiles/SearchEngines.php

Reported by: feyp Owned by:
Priority: normal Milestone: Piwik 0.4.4
Component: Core Keywords:
Cc: Sensitive: no

Description

Attached is a patch against /core/DataFiles/SearchEngines.php with the following changes:

a) Added Google Zimbabwe (www.google.co.zw)
b) Updated URL of Metager (meta.rrz.uni-hannover.de). The old URL does not work anymore, so I think it's safe to replace it.
c) Added parameters as_q and as_epq for everything Google. These parameters are used by search appliances (instead of the usual q) and I've seen them for some, but not all Google sites. It seems wise to add them for all Google sites, though.

Attachments (1)

piwik-se.patch (21.2 KB) - added by feyp 5 years ago.
Patch against /core/DataFiles/SearchEngines.php

Download all attachments as: .zip

Change History (6)

Changed 5 years ago by feyp

Patch against /core/DataFiles/SearchEngines.php

comment:1 Changed 5 years ago by vipsoft (robocoder)

Is this level of duplication necessary? If so, I'd prefer a code patch to eliminate the need for such duplication.

comment:2 Changed 5 years ago by feyp

Well, as I said, I've seen the as_* strings only for some Google sites. That I don't see them for all of Google doesn't mean that they are not in use at most of Google, though. I have no idea how much performance it costs to have an array instead of a string as the parameter, so you have to decide what to do here (or maybe you can give some insight into it?).
Fact is, that you miss a lot of search requests, if you do not include these additional parameters at all (depending on where your search requests come from of course), so the minimum policy should be, that they will be included, if we know that they are in use (i.e. we've seen them).

I'll upload two new patches later today. Both with less code duplication and one with the additional parameters applied only to those Google sites where I've actually seen as_*.

comment:3 Changed 5 years ago by vipsoft (robocoder)

To clarify... I would prefer to see less duplication of the keyword string (or array) in core/DataFiles/SearchEngines.php. Can we make it optional (either undefined or set to false), similar to the path (3rd array element). So, in core/Common.php, we could use something like this: (untested)

Index: Common.php
===================================================================
--- Common.php	(revision 1384)
+++ Common.php	(working copy)
@@ -773,6 +773,11 @@
 		}
 		$searchEngineName = $GLOBALS['Piwik_SearchEngines'][$refererHost][0];
 		$variableNames = $GLOBALS['Piwik_SearchEngines'][$refererHost][1];
+		if(!isset($variableNames) || $variableNames === false)
+		{
+			$url = $GLOBALS['Piwik_SearchEngines_NameToUrl'][$searchEngineName];
+			$variableNames = $GLOBALS['Piwik_SearchEngines'][$url][1];
+		}
 		if(!is_array($variableNames))
 		{
 			$variableNames = array($variableNames);

comment:4 Changed 5 years ago by vipsoft (robocoder)

In [1404], refs #916 - optional query parameters

In [1403], fixes #916 - add www.google.co.zw and update Metager

comment:5 Changed 5 years ago by vipsoft (robocoder)

  • Resolution set to fixed
  • Status changed from new to closed

Deferring the addition of as_q and as_epq as these can both appear in query at the same time; doing this right means coding some Google-specific URL parser. (Could possibly also address as_oq and as_eq at that time...)

Note: See TracTickets for help on using tickets.