sathio
February 2, 2024, 8:16am
1
Hi, i’d like to search all documents with the literal word AQU, but even if I quote it it returns documents with AQUA. I’ve also tried with =aqu but no joy.
the query looks like this:
WHERE MATCH('("aqu")')
and this is my conf
index clips
{
type = plain
source = clips
path = /blah
html_strip = 1
html_index_attrs = img=alt,title; a=title;
stored_fields =
min_stemming_len = 3
morphology = stem_en, libstemmer_de, libstemmer_es
morphology_skip_fields = field1, field2
index_exact_words = 1
}
Why do you need double brackets? The query must be:
WHERE MATCH('=aqu')
sathio
February 2, 2024, 1:37pm
3
let’s say I want to search on a field, shouldn’t it be
SELECT * FROM table WHERE MATCH('@field "=AQU"');
the example you made returns an error.
ERROR 1064 (42000): P01: syntax error, unexpected identifier, expecting $end near 'TABLE WHERE MATCH('=aqu')'
sathio
February 2, 2024, 1:41pm
4
it seems the correct way to do it is this:
SELECT * FROM table WHERE MATCH('@field "=aqu"');
tomat
February 2, 2024, 1:59pm
5
you can not name your index table as this is reserved word
1 Like
sathio
February 2, 2024, 2:14pm
6
my bad it was pseudo code, I should’ve declared it. my table has a non reserved name e non reserved column name
right syntax:
SELECT * FROM table WHERE MATCH('@field ="AQU"');
also, you may need escape quotes
1 Like