Quick start guide

Install and start Manticore

You can install and start Manticore easily in Ubuntu, Centos, Debian, Windows and MacOS or use Manticore as a docker container.

‹›
  • Ubuntu
  • Debian
  • Centos
  • Windows
  • MacOS
  • Docker
📋
wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
sudo dpkg -i manticore-repo.noarch.deb
sudo apt update
sudo apt install manticore manticore-columnar-lib
sudo systemctl start manticore

Connect to Manticore

By default Manticore is waiting for your connections on:

  • port 9306 for MySQL clients
  • port 9308 for HTTP/HTTPS connections
  • port 9312 for connections from other Manticore nodes and clients based on Manticore binary API
‹›
  • SQL
  • HTTP
  • PHP
  • Python
  • Javascript
  • Java
📋
mysql -h0 -P9306

Create an index

Let's now create an index called "products" with 2 fields:

  • title - full-text field which will contain our product's title
  • price - of type "float"
‹›
  • SQL
  • HTTP
  • PHP
  • Python
  • Javascript
  • Java
📋
create table products(title text, price float) morphology='stem_en';
‹›
Response
Query OK, 0 rows affected (0.02 sec)

Add documents

Let's now add few documents to the index:

‹›
  • SQL
  • HTTP
  • PHP
  • Python
  • Javascript
  • Java
📋
insert into products(title,price) values ('Crossbody Bag with Tassel', 19.85), ('microfiber sheet set', 19.99), ('Pet Hair Remover Glove', 7.99);
‹›
Response
Query OK, 3 rows affected (0.01 sec)

Search

Let's find one of the documents. The query we will use is 'remove hair'. As you can see it finds document with title 'Pet Hair Remover Glove' and highlights 'Hair remover' in it even though the query has "remove", not "remover". This is because when we created the index we turned on using English stemming (morphology "stem_en").

‹›
  • SQL
  • HTTP
  • PHP
  • Python
  • javascript
  • Java
📋
select id, highlight(), price from products where match('remove hair');
‹›
Response
+---------------------+-------------------------------+----------+
| id                  | highlight()                   | price    |
+---------------------+-------------------------------+----------+
| 1513686608316989452 | Pet <strong>Hair Remover</strong> Glove | 7.990000 |
+---------------------+-------------------------------+----------+
1 row in set (0.00 sec)

Update

Let's assume we now want to update the document - change the price to 18.5. This can be done by filtering by any field, but normally you know the document id and update something based on that.

‹›
  • SQL
  • HTTP
  • PHP
  • Python
  • javascript
  • Java
📋
update products set price=18.5 where id = 1513686608316989452;
‹›
Response
Query OK, 1 row affected (0.00 sec)

Delete

Let's now delete all documents with price lower than 10.

‹›
  • SQL
  • HTTP
  • PHP
  • Python
  • javascript
  • Java
📋
delete from products where price < 10;
‹›
Response
Query OK, 1 row affected (0.00 sec)