I'm trying to find matches of term "/book" and not just "book", but Manticore returns same result for both terms. Index type is rt and charset_table
includes slash ("/"). How can I get only "/book" matches?
mysql> drop table if exists t; create table t(f text) charset_table = 'non_cjk, /'; insert into t(f) values ('book'), ('/book'); select * from t where match('\\/book'); select * from t where match('book');
--------------
drop table if exists t
--------------
Query OK, 0 rows affected (0.00 sec)
--------------
create table t(f text) charset_table = 'non_cjk, /'
--------------
Query OK, 0 rows affected (0.00 sec)
--------------
insert into t(f) values ('book'), ('/book')
--------------
Query OK, 2 rows affected (0.01 sec)
--------------
select * from t where match('\\/book')
--------------
+---------------------+-------+
| id | f |
+---------------------+-------+
| 1514651075267788906 | /book |
+---------------------+-------+
1 row in set (0.00 sec)
--------------
select * from t where match('book')
--------------
+---------------------+------+
| id | f |
+---------------------+------+
| 1514651075267788905 | book |
+---------------------+------+
1 row in set (0.00 sec)
source src {
type = csvpipe
csvpipe_command = echo "1,book" && echo "2,/book"
csvpipe_field = f
}
index idx {
path = /tmp/idx
source = src
charset_table = non_cjk, /
stored_fields = f
}
searchd {
listen = 127.0.0.1:9315:mysql41
log = sphinx_min.log
pid_file = searchd.pid
binlog_path =
}
mysql> select * from idx where match('\\/book');
+------+-------+
| id | f |
+------+-------+
| 2 | /book |
+------+-------+
1 row in set (0.00 sec)
mysql> select * from idx where match('book');
+------+------+
| id | f |
+------+------+
| 1 | book |
+------+------+
1 row in set (0.00 sec)
index t {
type = rt
path = /tmp/idx
rt_field = f
charset_table = non_cjk, /
stored_fields = f
}
searchd {
listen = 127.0.0.1:9315:mysql41
log = sphinx_min.log
pid_file = searchd.pid
binlog_path =
}
mysql> insert into t(f) values ('book'), ('/book'); select * from t where match('\\/book'); select * from t where match('book');
Query OK, 2 rows affected (0.00 sec)
+---------------------+-------+
| id | f |
+---------------------+-------+
| 1514659513871892482 | /book |
+---------------------+-------+
1 row in set (0.00 sec)
+---------------------+------+
| id | f |
+---------------------+------+
| 1514659513871892481 | book |
+---------------------+------+
1 row in set (0.00 sec)