Chimo 2cc15b104e LOG_ERROR -> LOG_ERR 1 month ago
actions Remove extra </li>, fixes layout issue 2 months ago
classes Initial multi-field search page 2 months ago
lib LOG_ERROR -> LOG_ERR 1 month ago
scripts import-notice: Fix command-line flags 2 months ago
.gitignore First commit 9 months ago
ElasticSearchPlugin.php Initial multi-field search page 2 months ago
README.md Update README 9 months ago
composer.json First commit 9 months ago
composer.lock First commit 9 months ago

README.md

Elasticsearch Backend for GNU social

Installation

  1. Navigate to your /local/plugins directory (create it if it doesn't exist)
  2. git clone https://github.com/chimo/gs-elasticsearch.git ElasticSearch
  3. Run composer install in the ElasticSearch folder to install the dependencies

Configuration

Tell /config.php to use it with (replace 127.0.0.1:9200 with the address/port of your elasticsearch backend server):

    $config['elasticsearch']['hosts'] = [ '127.0.0.1:9200' ];
    $config['elasticsearch']['index_name'] = 'gnusocial';
    addPlugin('ElasticSearch');

Usage

You can use the Lucene query syntax when searching.

Searching Notices

Supported fields:

  • text: Filters by notice text (default field)
  • author: Notice author (in webfinger format: username@example.org)
  • type: Notice type (ex: post, share, like, etc)
  • created: Date the notice was created

The /search/notice page searches notice text by default. You can filter by notice author with the author field parameter.

For example, the following input will find all notices containing the word "social": social

The following input will find all notices containing the word "social" authored by username "gnu": author:gnu social

Searching Profiles

Supported fields:

  • nickname (default field)
  • fullname
  • bio
  • location
  • created
  • modified

The /search/people page searches profile nicknames by default. You can fiter by the other fields above.