Search API is a very widely used module that provides a framework for easily creating searches on any entity known to Drupal with faceting support, using any search engine. I propose to create a module, that could integrate with Search API and Facet API and would collect and evaluate search statistics and represent them in a viewer-friendly form. A module with similar functionality - Apache Solr Statistics
already exists for Apache Solr Search Integration Module
There are some requests for such a functionality for Search API.
The module will be developed as a separate module but will closely integrate with Search and Facet APIs, it will log search queries (keywords and facets) and provide site maintainers with a visual representation of the collected data, which can be shown as a simple list in a block or as a chart. It will integrate here with the Views module.
The following data might be of the biggest interest for a site maintainer so I will concentrate on these use cases:
- How many results did a search facet have yesterday? How many 30 days ago? How did the popularity of a facet evolve over time?
- Do people actually use the facets I’m exposing on my site? How often has this particular facet been clicked on today?
- How often is the whole search used anyway in a given time period?
- What are the most trending search terms compared to last week? Which facet has been relegated or is used less often?
A user will be able to set up the time period for which data will be stored. Granularity of reports will be also adjustable.
This data after evaluation could be published on the site, for instance the most searched jobs may be listed on a job search portal.
My university exams take place during the last two weeks of June, so I am planning to work on the project more intensively afterwards.
- Before May 21:
- May 21 - June 11:
- June 11 - June 31:
- July 1 - July 7:
- July 7 - July 15
- July 15 - July 21
- July 21 - July 28
- July 28 - August 4
- August 4 - August 15
Create drupal.org Project
IRC/VoIP meeting with mentors
Take a look into APIs stated above
Find out what can be reused from other modules
Data storage functionality. Possible use of the datastore module
Make it configurable
GUI and possibility to select what data has to be collected
Out-of-the-box functionality for a block with top searched phrases.
My name is Michael and I am currently a bachelor graduating student of Software Engineering at the Vienna University of Technology. My first industrial experience started with Drupal half a year ago, however, I have already worked with various APIs (e.g. Migrate API). I also have practical knowledge in Java-based web developing tools and techniques.