REDIS-STACK FT SEARCH с дефисом в качестве специального символа не работает

Я реализую поиск в стеке Redis, в котором мои ключи имеют особый символ,

Ниже приведен код Java для создания схемы индекса:

      Client client = new Client("my_queue", "localhost", 6379,10000,100,"mypassword");

    Schema sc = new Schema()
            .addSortableNumericField("id")
            .addSortableNumericField("task_id")
            .addSortableNumericField("org_id")
            .addSortableTextField("callsid", 5.0)
            .addSortableTextField("request_id", 10.0)
            .addSortableTextField("status", 15.0)
            .addSortableTextField("source", 20.0)
            .addSortableTextField("message", 25.0)
            .addSortableTextField("created_at", 30.0)
            .addSortableTextField("updated_at", 35.0)
            .addSortableTextField("scheduled_at", 40.0)
            .addSortableTextField("completed_at", 45.0)
            .addSortableTextField("processed_at", 50.0)
            .addSortableNumericField("retry_count");;
    
    client.createIndex(sc, Client.IndexOptions.Default());  
    client.close();

Я вставил пять ключей, как показано ниже:

  1. "1266ab40-1025-43be-9a75-c803a8e9f83c"
  2. "37910e73-23dd-4f37-99bf-020cf532493f"
  3. "28e04d99-eeb2-48ce-8deb-7ed6b22134bf"
  4. "fe656174-2959-44ef-b952-2fb4cd96b143"
  5. "06f2b6d1-f4a6-4dbd-9615-01e0e26441ce"

Когда я запускаю команду, как показано ниже,

      127.0.0.1:6379> FT.SEARCH my_queue "1266ab40-1025-43be-9a75-c803a8e9f83c"
1) (integer) 0
127.0.0.1:6379> FT.SEARCH my_queue 1266ab40-1025-43be-9a75-c803a8e9f83c
1) (integer) 0
127.0.0.1:6379> FT.SEARCH my_queue "1266ab40\-1025\-43be\-9a75\-c803a8e9f83c"
1) (integer) 0
127.0.0.1:6379> FT.SEARCH my_queue "1266ab40\-\1025\-\43be\-9a75\-\c803a8e9f83c"
1) (integer) 0
127.0.0.1:6379> FT.SEARCH my_queue "1266ab40\-\1025\-\43be\-9a75\-\c803a8e9f83c"

я не могу получить ожидаемый результат. Как я могу найти ключ со специальными символами?

0 ответов

Другие вопросы по тегам