Skip to content

EPIC: Search Engine #2706

@xabier

Description

@xabier

This is an EPIC

Summary

User story

I want to experience Decidim by directly accessing actuable content, applying filters and search terms. I want this experience available anywhere in Decidim, contextually narrowed when I apply it within a specific space.

EPIC description

The search engine is a full experience of Decidim as opposed to, or complementary-with, the navigation by sections and menus. The search engine displays results of all types of content in decidim (spaces and components), and it can be navigated with filters. The main search engines is a general case but specific search engines can be displayed (e.g. inside a process) with a restricted parameter shows only results applicable to the specific search. The Search engine can be accessed through an external API and parametrized (these properties are listed bellow but not assigned to specific issues, they must grow with the functionality of the engine).

Main related issues

Search Bar location and integration

The search engine will be shown and integrated into the following sites:

Result display

The search results page will show the contents according to typology and order them using a defined priority: for example, terms found in Assemblies will be displayed first, followed by Participatory Processes, Results, Face-to-face meetings, Proposals, etc.

Results view

  • We will show results mixing different types of cards [MVP --> Search engine MVP #2707]
  • The filters will have four sections:
    • a. Types of results (these are radio buttons, i.e. exclusion is applied, only one type can displayed) [MVP --> Search engine MVP #2707]
    • b. General filter: these includes filters that apply to any kind of content: Scopes [Iteration 1] and Active-future/Past [this applies to meetings, proposals (when voting is closed), processes, etc. but needs definition]
    • c. Component/space specific filters (these are only shown when a type of result is selected) [Iteration 1]
    • d. Context specific filters (e.g. categories), that is activated only when search is constrained to a specific space.
  • What happens when I click on a space? should I have the option to go directly to that space or should I search inside the space? --> discussion needed

Priority of search Result

  • Active spaces/components will have priority over past ones [MVP --> Search engine MVP #2707]
  • Spaces will be displayed first up to a maximum of 2 per types of space in this order:
    • 1. Consultations
    • 2. Processes
    • 3. Initiatives
    • 4. Organs
  • Components will be shown next up to 4 per type, following this order:
  • After these priorities are shown the rest of results will be shown by relevance of matching [MVP]

API

Moved to general API --> #2623

An API must be defined that can be applied to other Components (and other content, such as users who have decided to make their profile information public). The fields that can be indexed in order to perform the search should be indicated. This API will have to take into account whether a Component has been published or not. [MVP --> #2707]

Discussion: #2589

Parametrization

The search engine can be parametrised in such a way that, depending on where it is called, it can give different results: For example, a user may search from their profile and find information from only the results or contents that they follow, or those they have created; or an administrator could search for unpublished content from the admin page. [MVP --> #2707]

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions