Skip to content
Extraits de code Groupes Projets
Valider 2a42103b rédigé par mattpiwik's avatar mattpiwik
Parcourir les fichiers

Refs #2992 #49

Fixing the No result keyword bug

git-svn-id: http://dev.piwik.org/svn/trunk@7197 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent 73a7208a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 50 ajouts et 126 suppressions
......@@ -277,7 +277,7 @@ class Piwik_Actions_API
$dataTable->filter('ColumnCallbackDeleteRow',
array(
Piwik_Archive::INDEX_SITE_SEARCH_HAS_NO_RESULT,
create_function ( '$value', 'return $value == 1;')
create_function ( '$value', 'return $value >= 1;')
));
$dataTable->deleteColumn(Piwik_Archive::INDEX_SITE_SEARCH_HAS_NO_RESULT);
$this->filterPageDatatable($dataTable);
......
......@@ -376,6 +376,7 @@ class Piwik_Actions_Archiving
$dataTable = $this->actionsTablesByType[Piwik_Tracker_Action::TYPE_SITE_SEARCH];
self::deleteInvalidSummedColumnsFromDataTable($dataTable);
$this->deleteUnusedColumnsFromKeywordsDataTable($dataTable);
$s = $dataTable->getSerialized( Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero, Piwik_Actions_ArchivingHelper::$maximumRowsInSubDataTable, Piwik_Actions_ArchivingHelper::$columnToSortByBeforeTruncation );
$archiveProcessing->insertBlobRecord('Actions_sitesearch', $s);
$archiveProcessing->insertNumericRecord('Actions_nb_searches', array_sum($dataTable->getColumn(Piwik_Archive::INDEX_NB_VISITS)));
......@@ -385,6 +386,21 @@ class Piwik_Actions_Archiving
destroy($this->actionsTablesByType);
}
protected function deleteUnusedColumnsFromKeywordsDataTable($dataTable)
{
$columnsToDelete = array(
Piwik_Archive::INDEX_NB_UNIQ_VISITORS,
Piwik_Archive::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
Piwik_Archive::INDEX_PAGE_ENTRY_NB_ACTIONS,
Piwik_Archive::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
Piwik_Archive::INDEX_PAGE_ENTRY_NB_VISITS,
Piwik_Archive::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
Piwik_Archive::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
);
$dataTable->deleteColumns($columnsToDelete);
}
static protected function removeEmptyColumns($dataTable)
{
// Delete all columns that have a value of zero
......
......@@ -148,6 +148,8 @@ class Test_Piwik_Integration_SiteSearch extends IntegrationTestCase
$visitor->setUrl('http://example.org/index.htm#q=Search 1&search_count=10');
self::checkResponse($visitor->doTrackPageView('Site Search results - URL Fragment'));
// &search_count=0 so it's a "No Result" keyword, but it will not appear in the report, because it also has other seraches with results
// and the archiving does a MAX()
$visitor->setForceVisitDateTime(Piwik_Date::factory(self::$dateTime)->addHour(0.27)->getDatetime());
$visitor->setUrl('http://example.org/index.htm?hello=world#q=Search 1&search_count=0');
self::checkResponse($visitor->doTrackPageView('Site Search results - URL Fragment'));
......
......@@ -31,7 +31,13 @@
</columns>
<reportData>
<result prettyDate="2010, January" />
<result prettyDate="2010, January">
<row>
<label>No Result Keyword!</label>
<nb_visits>2</nb_visits>
<exit_rate>0%</exit_rate>
</row>
</result>
<result prettyDate="2010, February" />
<result prettyDate="2010, March" />
<result prettyDate="2010, April" />
......
......@@ -5,15 +5,8 @@
<row>
<label>Search 1</label>
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>6</nb_hits>
<sum_time_spent>468</sum_time_spent>
<nb_hits_following_search>4</nb_hits_following_search>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>9</entry_nb_actions>
<entry_sum_visit_length>721</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>3</nb_pages_per_search>
<avg_time_on_page>234</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -22,11 +15,8 @@
<row>
<label>Search 2</label>
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>2</nb_hits_following_search>
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
......@@ -36,14 +26,8 @@
<row>
<label>No Result Keyword!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>36</sum_time_spent>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>145</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -54,11 +38,8 @@
<row>
<label>Final Keyword Searched for now.</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>0</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>0</avg_time_on_page>
......@@ -68,15 +49,8 @@
<row>
<label>Keyword - Tracking API</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>3</entry_nb_actions>
<entry_sum_visit_length>325</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>2</nb_pages_per_search>
<avg_time_on_page>72</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -85,10 +59,8 @@
<row>
<label>No Result Keyword!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>252</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>252</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -106,7 +78,6 @@
<row>
<label>SHOULD be a Search with no result!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>180</sum_time_spent>
<nb_pages_per_search>1</nb_pages_per_search>
......@@ -117,11 +88,8 @@
<row>
<label>You can use Piwik in: አማርኛ, العربية, Беларуская, Български, Català, Česky, Dansk, Deutsch, Ελληνικά, English, Español, Eesti keel, Euskara, فارسی, Suomi, Français, Galego, עברית, Magyar, Bahasa Indonesia, Íslenska, Italiano, 日本語, ქართული, 한국어, Lietuvių, Latviešu, Norsk (bokmål), Nederlands, Norsk (nynorsk), Polski, Português brasileiro, Português, Română, Русский, Slovensky%</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>2</nb_hits>
<sum_time_spent>180</sum_time_spent>
<nb_hits_following_search>2</nb_hits_following_search>
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<nb_pages_per_search>2</nb_pages_per_search>
<avg_time_on_page>180</avg_time_on_page>
......
......@@ -7,13 +7,6 @@
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>288</sum_time_spent>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>145</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_hits_following_search>1</nb_hits_following_search>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>144</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -24,13 +17,6 @@
<nb_visits>2</nb_visits>
<nb_hits>6</nb_hits>
<sum_time_spent>468</sum_time_spent>
<nb_hits_following_search>4</nb_hits_following_search>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>9</entry_nb_actions>
<entry_sum_visit_length>721</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
<nb_pages_per_search>3</nb_pages_per_search>
<avg_time_on_page>234</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -41,10 +27,7 @@
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>2</nb_hits_following_search>
<exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -55,10 +38,7 @@
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<sum_time_spent>0</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -69,13 +49,6 @@
<nb_visits>1</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>3</entry_nb_actions>
<entry_sum_visit_length>325</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
<nb_pages_per_search>2</nb_pages_per_search>
<avg_time_on_page>72</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -96,7 +69,6 @@
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<sum_time_spent>180</sum_time_spent>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>180</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -107,10 +79,7 @@
<nb_visits>1</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>180</sum_time_spent>
<nb_hits_following_search>2</nb_hits_following_search>
<exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<nb_pages_per_search>2</nb_pages_per_search>
<avg_time_on_page>180</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......
......@@ -5,14 +5,8 @@
<row>
<label>No Result Keyword!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>36</sum_time_spent>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>145</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -23,10 +17,8 @@
<row>
<label>No Result Keyword!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>252</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>252</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -44,7 +36,6 @@
<row>
<label>SHOULD be a Search with no result!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>180</sum_time_spent>
<nb_pages_per_search>1</nb_pages_per_search>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<result date="2010-01" />
<result date="2010-01">
<row>
<label>No Result Keyword!</label>
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>288</sum_time_spent>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>144</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
</row>
</result>
<result date="2010-02" />
<result date="2010-03" />
<result date="2010-04" />
......@@ -16,7 +27,6 @@
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<sum_time_spent>180</sum_time_spent>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>180</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......
......@@ -3,15 +3,8 @@
<row>
<label>Search 1</label>
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>6</nb_hits>
<sum_time_spent>468</sum_time_spent>
<nb_hits_following_search>4</nb_hits_following_search>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>9</entry_nb_actions>
<entry_sum_visit_length>721</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>3</nb_pages_per_search>
<avg_time_on_page>234</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -20,11 +13,8 @@
<row>
<label>Search 2</label>
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>2</nb_hits_following_search>
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
......@@ -34,14 +24,8 @@
<row>
<label>No Result Keyword!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>36</sum_time_spent>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>145</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......
......@@ -5,13 +5,6 @@
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>288</sum_time_spent>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>145</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_hits_following_search>1</nb_hits_following_search>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>144</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -22,13 +15,6 @@
<nb_visits>2</nb_visits>
<nb_hits>6</nb_hits>
<sum_time_spent>468</sum_time_spent>
<nb_hits_following_search>4</nb_hits_following_search>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>9</entry_nb_actions>
<entry_sum_visit_length>721</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
<nb_pages_per_search>3</nb_pages_per_search>
<avg_time_on_page>234</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -39,10 +25,7 @@
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>2</nb_hits_following_search>
<exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -53,10 +36,7 @@
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<sum_time_spent>0</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......@@ -67,13 +47,6 @@
<nb_visits>1</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>72</sum_time_spent>
<nb_hits_following_search>1</nb_hits_following_search>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>3</entry_nb_actions>
<entry_sum_visit_length>325</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
<nb_pages_per_search>2</nb_pages_per_search>
<avg_time_on_page>72</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......
......@@ -3,14 +3,8 @@
<row>
<label>No Result Keyword!</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
<sum_time_spent>36</sum_time_spent>
<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
<entry_nb_visits>1</entry_nb_visits>
<entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>145</entry_sum_visit_length>
<entry_bounce_count>0</entry_bounce_count>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>36</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
......
<?xml version="1.0" encoding="utf-8" ?>
<result />
\ No newline at end of file
<result>
<row>
<label>No Result Keyword!</label>
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>288</sum_time_spent>
<nb_pages_per_search>1</nb_pages_per_search>
<avg_time_on_page>144</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
</row>
</result>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter