Я пытаюсь понять, как выполнять запросы в Redisearch строго с «начинается с», и я продолжаю получать «содержит».
Например, если у меня есть поля со значениями, такими как 'football', 'myfootball' , 'greenfootball' и предоставит поисковый запрос, подобный этому:
> FT.SEARCH myIdx @myfield:foot*
Я хочу просточтобы получить 'football' , но я продолжаю получать другие поля, содержащие слово, вместо того, чтобы начинаться с этого слова.
Есть ли способ избежать этого?
Я былпытаюсь использовать VERBATIM
и тому подобные @myfield:^foot*
, но ничего.
Я использую JRedisearch в качестве клиента, но в конце концов мне пришлось войти в БД и выполнить эти запросы вручную, чтобы выяснить, что происходит.При этом, возможно ли это сделать с этим клиентом в данный момент?
Спасибо
РЕДАКТИРОВАТЬ Пример моей настройки индекса:
Client client = new Client(INDEX_NAME, url, PORT);
Schema sc = new Schema().addSortableTextField("url", 1.0); // using this field for query
client.dropIndex(true);
client.createIndex(sc, Client.IndexOptions.Default());
return client;
Образец документа:
id: // random uuid
urlPath: myfootbal
application: web
market: Europe