Setting up MeiliSearch for RumiTalk
- See: Search feature in RumiTalk for a quick overview.
MeiliSearch is a powerful, open-source search engine that enhances RumiTalk’s functionality by enabling full-text search, typo tolerance, and instant search results for past conversations.
Follow these steps to set up MeiliSearch for RumiTalk:
1. Download MeiliSearch
- Go to the MeiliSearch GitHub releases page: https://github.com/meilisearch/meilisearch/releases
-
Download the latest version of MeiliSearch for your
operating system (e.g.,
meilisearch-linux-amd64.tar.gz
for Linux,meilisearch-macos-amd64
for macOS, ormeilisearch-windows-amd64.zip
for Windows).
2. Extract/Install MeiliSearch
- Linux/macOS: Extract the downloaded archive to a directory of your choice.
- Windows: Extract the ZIP file to a directory of your choice.
3. Make the MeiliSearch Binary Executable (Linux/macOS)
- Open a terminal and navigate to the directory where you extracted MeiliSearch.
-
Run the following command to make the binary executable:
Make the MeiliSearch Binary Executable
chmod +x meilisearch
4. Generate a Master Key
- Open a terminal (or Command Prompt on Windows) and navigate to the MeiliSearch directory.
-
Run the following command to generate a Master Key:
Generate a Master Key
./meilisearch --generate-master-key
- Copy the generated Master Key as you’ll need it later.
5. Start MeiliSearch
-
In the same terminal, run the following command to start
MeiliSearch, replacing
<your_master_key>
with the Master Key you generated in the previous step:Start MeiliSearch./meilisearch --master-key=<your_master_key>
-
MeiliSearch will now start running on the default port
(
7700
).
6. Update RumiTalk’s Environment Variables
-
Open the
.env
file in the root directory of your RumiTalk project. -
Add or update the following lines with your MeiliSearch configuration:
.envSEARCH=true MEILI_NO_ANALYTICS=true MEILI_HOST=http://localhost:7700 MEILI_MASTER_KEY=<your_master_key>
-
Replace
<your_master_key>
with the Master Key you generated earlier.
7. Start/Restart RumiTalk
- Start or restart your RumiTalk application.
That’s it! With MeiliSearch set up and configured, RumiTalk should now have the Conversation search feature enabled, allowing users to perform full-text searches, benefit from typo tolerance, and experience instant search results for their past conversations.
Note: Make sure to keep the MeiliSearch process running in the background for the search functionality to work correctly. You may want to set up a script or service to keep MeiliSearch running persistently.
8. Optional: Disable Meilisearch/Database Sync in a Multi-node Setup
If you’re running RumiTalk in a node cluster, or multi-node
setup, and want to disable the MeiliSearch indexing sync, you
can set the
MEILI_NO_SYNC
environment variable to
true
in your
.env
file. This
will prevent your database documents from syncing redundantly
across multiple RumiTalk instances, which can also lead to
unnecessary resource consumption, as only one instance should
be responsible for indexing.
MEILI_NO_SYNC=true