Actions

Difference between revisions of "Proposals/Done/Search 2.0"

From Mahara Wiki

< Proposals‎ | Done
(Backend work: rename backend to full text search)
(Full text search: basic architecture and description)
Line 5: Line 5:
 
=Full text search=
 
=Full text search=
  
==Revive search/solr/ plugin==
+
The main goal of this work is to add a universal search box to the home page which will search in:
  
Not sure about the state of this one but we're told it no longer works (see [https://bugs.launchpad.net/mahara/+bug/680710 bug #680710])
+
* forums (title & description)
 +
* '''forum threads (contents)'''
 +
* views (title, description, tags)
 +
* '''artefacts (tags, content)'''
 +
* users (firstname, lastname, email)
 +
* groups (name and description
 +
 
 +
This extra search functionality will supplement what is available from the internal search plugin.
 +
 
 +
==Revive lucene plugin==
 +
 
 +
Not sure about the state of the solr search plugin one but we're told it no longer works (see [https://bugs.launchpad.net/mahara/+bug/680710 bug #680710]) and we'll be using [http://www.elasticsearch.org/ elasticsearch] instead.
 +
 
 +
==Plugin architecture==
 +
 
 +
The elasticsearch plugin will inherit from internal search and may in the future override methods that it can implement faster.
 +
 
 +
In order to get the universal search working, we'll add new methods to the internal search plugin which will only be implemented in elasticsearch. Search plugin writers may choose to implement them in their own plugins, but internal search is not going to have an implementation for it.
  
 
==Facetted search pages==
 
==Facetted search pages==

Revision as of 11:45, 25 January 2012

This is a proposal for improving the search experience in Mahara. It covers searching for users, groups and pages (views).

There are a few elements in here which aren't directly related to search but that are designed to provide more metadata and therefore improve the quality of searches.

Full text search

The main goal of this work is to add a universal search box to the home page which will search in:

  • forums (title & description)
  • forum threads (contents)
  • views (title, description, tags)
  • artefacts (tags, content)
  • users (firstname, lastname, email)
  • groups (name and description

This extra search functionality will supplement what is available from the internal search plugin.

Revive lucene plugin

Not sure about the state of the solr search plugin one but we're told it no longer works (see bug #680710) and we'll be using elasticsearch instead.

Plugin architecture

The elasticsearch plugin will inherit from internal search and may in the future override methods that it can implement faster.

In order to get the universal search working, we'll add new methods to the internal search plugin which will only be implemented in elasticsearch. Search plugin writers may choose to implement them in their own plugins, but internal search is not going to have an implementation for it.

Facetted search pages

(This may require the Solr search plugin and not have a fallback for the internal search plugin.)

Each of the following existing searches will include a few facets.

  • user search ("Find friends"): insitution, institution category, user tags, role (e.g. staff, admin, other)
  • group search ("Find groups"): group category, group type, group tags
  • page search ("Shared pages"): institution, institution category, page tags, user tags (user pages), user role (user pages only), group tags (group pages only), group category (group pages only)

Full-text search for "Shared pages"

(This may require the Solr search plugin and not have a fallback for the internal search plugin.)

This will allow users to search in the contents of pages that are visible to them:

  • artefact content (where it makes sense)
  • artefact description and tags
  • filenames
  • file contents (e.g. PDF, ODF, Word documents, text files)

Extra Tagging

Add user tags

We currently have tags for users but they are set by the system and are not user-editable.

We will make new types of tags which will be defined by each user in their profile area. They will be displayed as part of the Profile Info block.

Furthermore, these tags will be searchable in the "Find friends" and "Copy page" searches.

Add group tags

These tags will be defined by group owners in the group settings. They will be displayed as part of the Group Info block on the group homepage.

The tags will be searchable in the "Find groups" searches.

Group categories will be replaced with group tags.

Create a new "Page Tags" block

Users are already able to assign tags to the pages they create but these tags aren't displayed anywhere on these pages.

Landing pages for tags

When tags are displayed anywhere, it will be in the form of links that will lead to index/landing pages which will display other similar items.

There will therefore be three different landing pages displaying items:

  • one for all users tagged with a particular tag (can be optionally restricted to one of the institution you belong to)
  • one for publicly visible groups tagged with a particular tag
  • one for pages (views) accessible to the current user and tagged with a particular tag