“Keyword not defined” means the search engine did not pass to your website the keyword used by your visitors — Search engines hide the keyword for privacy reasons. It is common that most keywords are “Not defined” after Google changes made in early 2012.

Some search engines (Google for all logged in users, DuckDuckGo, Firefox latest version now also removes keywords, etc.) may not specify the keyword used to reach your website. Piwik will report the keyword as “Keyword not defined”. It means that Piwik has detected that the visitor came from a search engine, but the keyword was not provided in the Referrer URL.
There is no way to access the keyword in this case, and no other web analytics tool can get this information either.