찾다

 >  Q&A  >  본문

query - Redis 기반 퍼지 쿼리를 구현하는 방법

질문은 제목과 동일합니다. Key의 퍼지 쿼리를 의미하는 것이 아니라, 값의 퍼지(키워드) 쿼리를 의미하는 점 참고하시기 바랍니다.
예를 들어주세요:

으아아아

위의 사용자 데이터가 있을 경우 해시 형태로 저장되며, 정렬을 원하시면

으아아아

그런데 연령별로 정렬해야 하고 키워드 쿼리(퍼지 매칭 사용자 이름)도 구현해야 한다면 어떻게 구현해야 할까요?

某草草某草草2795일 전1292

모든 응답(3)나는 대답할 것이다

  • 淡淡烟草味

    淡淡烟草味2017-04-24 16:02:35

    간단하고 적은 양의 퍼지 쿼리를 어느 정도 달성할 수 있는 대체 방법이 있습니다.
    사용자 정보 작성 시 사용자 이름을 Key로 분할하여 사용자 ID를 기록합니다

    으아악

    다음에 퍼지 쿼리를 수행할 때 j을 입력하면 SET 컬렉션에서 jackjackson 두 항목을 찾을 수 있습니다. 물론 이 두 값은 사용자 ID로 대체될 수 있습니다. 그런 다음 사용자 ID에 따라 사용자 해시 정보를 쿼리합니다.
    이 방법은 쿼리 조건이 단일이고 필드 길이가 짧은 시나리오에만 적합합니다. If: 게시물 제목과 게시물 기사의 퍼지 일치가 동시에 작동하지 않습니다. 제목은 계속 시도할 수 있지만 내용은 확실히 달성되지 않을 것입니다.

    물론 Redis는 본질적으로 이에 적합하지 않으므로 다른 솔루션이 있는 경우 이를 달성하기 위해 다른 솔루션을 사용하는 것이 좋습니다.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-24 16:02:35

    완곡한 방법은 Lua 스크립트를 직접 작성하는 것입니다.
    또는 데이터 세트가 크지 않은 경우 클라이언트 측에서 직접 필터링하세요.
    퍼지 쿼리가 어려운 요구사항이라면 Solr 또는 Elasticsearch로 전환하는 것이 좋습니다.

    회신하다
    0
  • 黄舟

    黄舟2017-04-24 16:02:35

    Redis에는 이러한 풍부한 쿼리 방법이 없으며 퍼지 쿼리는 키에서만 수행할 수 있으므로 풍부한 요구 사항을 충족할 수 없습니다. 고속 스토리지를 원한다면 Redis를 사용하는 것이 좋습니다. 비즈니스 로직을 수행하고 풍부한 쿼리 방법을 갖고 싶다면 MongoDb를 사용하는 것이 좋습니다

    회신하다
    0
  • 취소회신하다