Redisearch で "begins with" を厳密に使用してクエリを実行する方法を理解しようとしていますが、"contains" を取得し続けています。
たとえば、 「football」、「myfootball」、「greenfootball」などの値を持つフィールドがあり、次のような検索語を提供するとします。
> FT.SEARCH myIdx @myfield:foot*
「サッカー」を取得したいだけですが、その単語で始まるのではなく、単語を含む他のフィールドを取得し続けます。
これを回避する方法はありますか?
私は使用しようとしてVERBATIM
いまし@myfield:^foot*
たが、何もありませんでした。
クライアントとして JRedisearch を使用していますが、最終的に何が起こっているのかを把握するために、DB に入り、これらのクエリを手動で実行する必要がありました。そうは言っても、現時点でこのクライアントでこれを行うことは可能ですか?
ありがとう
編集 私のインデックス設定のサンプル:
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