Redissearch возвращает пустые документы с салатом-модом, но работает правильно через Redis CliJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Redissearch возвращает пустые документы с салатом-модом, но работает правильно через Redis Cli

Сообщение Anonymous »

Я испытываю странную проблему с переходным исследованием, используя салат-модский клиент Java. Поиск работает отлично через Redis CLI, но возвращает пустые документы при выполнении через Java. < /P>
redis cli (работает правильно): < /p>
FT.SEARCH idx:products "@id:[12345 12345]" RETURN 4 id name price category
1) "1"
2) "product:electronics:12345"
3) 1) "id"
2) "12345"
3) "name"
4) "Laptop"
5) "price"
6) "999.99"
7) "category"
8) ""
< /code>
Конфигурация индекса redissearch Index: < /p>
// Create index for product data - each product is its own hash with prefix
CreateOptions productOptions = CreateOptions.builder()
.on(CreateOptions.DataType.HASH)
.prefix("product:") // Will index all hashes starting with "product:"
.build();

redisModulesCommands.ftCreate(
"idx:products",
productOptions,
Field.numeric("id").sortable().build(),
Field.text("name").sortable().build(),
Field.numeric("price").sortable().build(),
Field.text("category").build()
);
< /code>
java -код (возвращает пустые документы): < /p>
SearchResults results = redisModulesCommands.ftSearch(
"idx:products",
"@id:[12345 12345]",
SearchOptions.builder()
.returnFields("id", "name", "price", "category")
.build()
);

System.out.println("Count: " + results.getCount()); // Prints: Count: 1
if (results.getCount() > 0) {
Document doc = results.get(0);
System.out.println("Document: " + doc); // Prints: Document: {}

Map fields = new HashMap();
doc.forEach(fields::put);
System.out.println("Fields: " + fields); // Prints: Fields: {}
}
< /code>
Журналы отладки Show: < /p>
[lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.CommandHandler - Received: 382 bytes, 1 commands in the stack
12:27:22.100 [lettuce-nioEventLoop-4-2] DEBUG io.lettuce.core.protocol.RedisStateMachine - Decode done, empty stack: true
[type=SEARCH, output=SearchOutput [output=[{}, {}, {}], error='null']

< /code>
Конфигурация клиента: < /p>
RedisURI.Builder builder = RedisURI.builder()
.withSentinelMasterId("mymaster")
.withTimeout(Duration.ofMillis(3000));

// Add sentinel nodes
Arrays.stream("localhost:26379,localhost:26380".split(","))
.forEach(host -> {
String[] parts = host.trim().split(":");
String hostname = parts[0];
int port = parts.length > 1 ? Integer.parseInt(parts[1]) : 26379;
builder.withSentinel(hostname, port);
});

RedisModulesClient client = RedisModulesClient.create(clientResources, builder.build());
RedisModulesCommands redisModulesCommands = client.connect().sync();
< /code>
Среда: < /p>
  • Lettuce-mod 3.8.1 < /li>
    Java 1.8 < /li>
    Redis sentinel setup < /li>
    < /ul>
    Прямая доступа работает. Map hashFields = commands.hgetall("product:electronics:12345");
    // Returns: {id=12345, name=Laptop, price=999.99, category=""}
    < /code>
    Поиск находит правильное количество документов, но объекты документа полностью пусты. Та же самая команда поиска
    отлично работает в Redis Cli. Является ли это известной проблемой с распределением перераспределения салата-мода, или я что-то упускаю
    в моей конфигурации? < /P>
    Что я пробовал: < /p>

    Различные конфигурации Spearchoptions < /li>
    . штраф)
  • подтвердил, что индекс существует и имеет правильную схему


Подробнее здесь: https://stackoverflow.com/questions/797 ... ly-via-red
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отправка команды на сервер с модом ткани
    Гость » » в форуме JAVA
    0 Ответы
    40 Просмотры
    Последнее сообщение Гость
  • Проблема с боковым модом Pixelmon Forge 1.16.5-36.2.34
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Приложение Force Stop, установленное модом APK от Firebase
    Anonymous » » в форуме Android
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Проблема с боковым модом Pixelmon Forge 1.16.5-36.2.34
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Что делать, если я удалил файл Redis, но не закрыл службу Redis и продолжал перезапускать [закрыто]
    Anonymous » » в форуме Linux
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»