Manticore Search имеет одноуровневую иерархию для таблиц.
В отличие от других СУБД, в Manticore нет концепции группировки таблиц в базы данных. Однако для совместимости с диалектами SQL, Manticore принимает операторы SHOW DATABASES для совместимости с диалектом SQL, но оператор не возвращает никаких результатов.
Общий синтаксис:
SHOW TABLES [ LIKE pattern ]
Оператор SHOW TABLES выводит список всех активных в данный момент таблиц вместе с их типами. Существующие типы таблиц: local, distributed, rt, percolate и template.
- SQL
- JSON
- PHP
- Python
- Python-asyncio
- javascript
- Java
- C#
- Rust
SHOW TABLES;+----------+-------------+
| Таблица | Тип |
+----------+-------------+
| dist | distributed |
| plain | local |
| pq | percolate |
| rt | rt |
| template | template |
+----------+-------------+
5 rows in set (0.00 sec)Поддерживается необязательное предложение LIKE для фильтрации таблиц по имени.
- SQL
- JSON
- PHP
- Python
- Python-asyncio
- javascript
- Java
- C#
- Rust
SHOW TABLES LIKE 'pro%';+----------+-------------+
| Index | Type |
+----------+-------------+
| products | distributed |
+----------+-------------+
1 row in set (0.00 sec){DESC | DESCRIBE} table_name [ LIKE pattern ]
Оператор DESCRIBE выводит столбцы таблицы и их связанные типы. Столбцы включают ID документа, полнотекстовые поля и атрибуты. Порядок соответствует тому, в котором поля и атрибуты ожидаются операторами INSERT и REPLACE. Типы столбцов включают field, integer, timestamp, ordinal, bool, float, bigint, uuid, string и mva. Столбец ID по умолчанию имеет тип bigint, а для таблицы реального времени, объявленной с id uuid, используется uuid. Пример:
mysql> DESC rt;
+---------+---------+
| Field | Type |
+---------+---------+
| id | bigint |
| title | field |
| content | field |
| gid | integer |
+---------+---------+
4 rows in set (0.00 sec)
Поддерживается необязательное предложение LIKE. Подробности о его синтаксисе см. в разделе SHOW META.
Вы также можете просмотреть схему таблицы, выполнив запрос select * from <table_name>.@table. Преимущество этого метода в том, что вы можете использовать предложение WHERE для фильтрации:
- SQL
- JSON
select * from tbl.@table where type='text';+------+-------+------+----------------+
| id | field | type | properties |
+------+-------+------+----------------+
| 2 | title | text | indexed stored |
+------+-------+------+----------------+
1 row in set (0.00 sec)Вы также можете выполнять множество других действий с <your_table_name>.@table, рассматривая его как обычную таблицу Manticore со столбцами, состоящими из целочисленных и строковых атрибутов.
- SQL
select field from tbl.@table;
select field, properties from tbl.@table where type in ('text', 'uint');
select * from tbl.@table where properties any ('stored');SHOW CREATE TABLE table_name [ OPTION output_words = 'list' | 'file' ]
Выводит оператор CREATE TABLE, использованный для создания указанной таблицы.
Если таблица была создана с помощью SQL-ярлыка profile=..., SHOW CREATE TABLE выводит развернутые настройки вместо самого имени профиля.
Опция output_words позволяет управлять отображением настроек внешних файлов (таких как stopwords, exceptions, wordforms, hitless_words):
'list'(по умолчанию): Отображает содержимое файлов в виде встроенных списков с использованием опций*_list(например,stopwords_list='word1; word2').'file': Отображает пути к файлам с использованием исходных опций (например,stopwords='/path/to/file').
- SQL
- JSON
SHOW CREATE TABLE tbl\G Table: tbl
Create Table: CREATE TABLE tbl (
f text indexed stored
) charset_table='non_cont,cont' morphology='icu_chinese'
1 row in set (0.00 sec)Если вы используете оператор DESC для перколяционной таблицы, он отобразит внешнюю схему таблицы, которая является схемой хранимых запросов. Эта схема статична и одинакова для всех локальных перколяционных таблиц:
mysql> DESC pq;
+---------+--------+
| Field | Type |
+---------+--------+
| id | bigint |
| query | string |
| tags | string |
| filters | string |
+---------+--------+
4 rows in set (0.00 sec)
Если вы хотите просмотреть ожидаемую схему документа, используйте следующую команду:
DESC <pq table name> table:
mysql> DESC pq TABLE;
+-------+--------+
| Field | Type |
+-------+--------+
| id | bigint |
| title | text |
| gid | uint |
+-------+--------+
3 rows in set (0.00 sec)
Также поддерживается desc pq table like ..., и он работает следующим образом:
mysql> desc pq table like '%title%';
+-------+------+----------------+
| Field | Type | Properties |
+-------+------+----------------+
| title | text | indexed stored |
+-------+------+----------------+
1 row in set (0.00 sec)