Skip to content

Elasticsearch (Lime CRM Search Engine)

Elasticsearch is a search engine optimized for full-text searches and and is used for finding data quickly in Lime CRM. Relational databases (such as Microsoft SQL Server) systems aren't designed for that kind of tasks.

The concept of columns and rows doesn't exist in Elasticsearch. Instead, Elasticsearch stores its data in documents. All data in a document that shall be searchable is indexed and put in a search index in Elasticsearch.

Learn more about working with index with limefu.

Tips and tricks

  • Indexing is a time consuming and CPU intensive process. To index a big table can take several hours.
  • Only index data that gives customer value. This means that you should only index data that the customer needs to find via the global search. Read more about how to exclude data from being indexed here.
  • Less is more. If too much data is indexed, the search results in the global search will be less accurate. Remember one of our core values - Keep it simple!
  • Elasticsearch keeps as much of it's index in-memory as possible. That means that a large index will require a lot of memory on the server running Elasticsearch.

Configuration

Default protocol and port is HTTP and 9200. Connection options to Elasticsearch can be configured in the environment configuration.

search: 
    elasticsearch: 
        host: localhost
        port: 9200
        use_ssl: False
        verify_certs: False