Articles


Search Api Module Features

Search Api Module Features



Posted byvarghese.t,1st Sep 2016

Database search

Database search module provides a database based implementation of the Search API. The database and target to use for storing and accessing the indexes can be selected when creating a new server.

All Search API datatypes are supported by using appropriate SQL datatypes for their respective columns (with "String"/"URI", and "Integer"/"Duration" being equivalent).

The "direct" parse mode for queries will result in a simple splitting of the query string into keys. Additionally, search keys containing whitespace will be split, as searching for phrases is currently not supported.

Supporting optional features

- search_api_autocomplete
  Introduced by module: search_api_autocomplete
  You add auto completion capabilities to search forms on the site. (See   also "Hidden variables" below for back end-specific customization.)   NOTE: Due to internal database restrictions, this will perform significantly   better if only a single field is used for auto-completion.
- search_api_facets
  Introduced by module: search_api_facetapi
  Allows you to create faceted searches for dynamically filtering search  results.

If you feel some service option is missing, or have other ideas for improving this implementation, please file a feature request in the project's issue queue, at [http://drupal.org/project/issues/search_api], using the "Database search" component.

Known problems

Currently, Drupal doesn't support setting the table collation when creating tables. This might cause problems when you want to index data which can contain accented characters, umlauts and other non-ASCII characters (à, á, ä, …). To resolve the issue, please set "utf8_bin" as the collation for all tables starting with "search_api_db_". This has already been automated for MySQL databases in newer releases but must be done manually for other databases. See [1] for details.

[1] http://drupal.org/node/1144620

Also, using facets with a database server will only work if the database user Drupal is using has the "CREATE TEMPORARY TABLES" permission (or similar, in DBMSs other than MySQL).

 

 

Categories