Фильтр поиска по тэгам с помощью Python Redisearch Client - PullRequest
1 голос
/ 09 ноября 2019

У меня есть индекс с TagField, созданный так:

create_index([TextField("enc_id"), TextField("title", 2.0), TagField("tags")])

Я бы добавил такой документ.

add_document(title = "meh, lol", tags = "python,C")

Я ищу вот так. В нем есть несколько полей, которые не нужно искать, поэтому я ограничил поля для поиска.

Query(query_string='meh').limit_fields(title)

Я хочу также фильтровать результаты по некоторым тегам. Например, у меня есть документы с такими тегами, как python, C, Java, и я хочу, чтобы возвращались только те документы, которые имеют тег «C».

Как мне это сделать?

1 Ответ

1 голос
/ 09 ноября 2019

Наконец нашел его: D.

Я в основном пытался выполнить чистые команды redis-cli с клиентом python. Не знал как: /

Но это сработало. Я могу использовать @ в строке запроса. Так же, как мы делаем в кли.

Query("@title:meh @tags:{java}")
...