데이터에 제약이있는 임의 쿼리에 어떤 기술을 사용 하시겠습니까?

Aledalgrande

임의의 항목이지만 데이터의 특정 하위 집합에있는 데이터를 반 무작위로 추출해야합니다. 그리고 이것을 여러 번해야합니다.

첫 번째 접근 방식은 Postgres를 사용 ORDER BY random()하고 WHERE문으로 필터링하는 것이지만 성능이 좋지 않습니다.

의견 있으십니까?

Aledalgrande

결국 Tire (Ruby gem)를 통해 Elasticsearch를 사용하게되었습니다. 적절한 인덱싱을 통한 성능 덕분에 페이지 로딩 시간이 30 초 이상에서 1 초 미만으로 늘어났습니다 (DB 크기와 무관).

예:

Recipe.search do |search|
    search.sort do |sort|
      sort.by({
        _script: { 
          script: "Math.random()",
          type: "number",
          params: {},
          order: "asc"
        }
      })
    end

    search.size 1
end

다음을 생성합니다.

{
"sort": [{
    "_script": {
        "script": "Math.random()",
        "type": "number",
        "params": {},
        "order": "asc"
    }
}],
"size": 1
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ember 데이터 : 브라우저에 데이터를 저장하는 데 어떤 기술이 사용됩니까?

분류에서Dev

루프 또는 다른 기능을 사용하여 R의 빅 데이터 프레임에 주제 ID 변수를 추가 하시겠습니까?

분류에서Dev

일련의 인 메모리 비트 맵에서 WebM 라이브 스트림을 생성하려면 어떤 기술을 사용해야합니까?

분류에서Dev

R의 데이터 프레임 목록에 적용 할 코드에 어떤 문제가 있습니까?

분류에서Dev

Rstudio 뷰어에서 데이터 프레임을 복구 하시겠습니까?

분류에서Dev

데이터 프레임에서 열을 선택하고 내보내는 데 어떤 R 함수를 사용할 수 있습니까?

분류에서Dev

새 앱에 어떤 기술을 사용해야합니까?

분류에서Dev

이 셀레늄 파이어 폭스 프로필이 사용자 정의 폴더에 파일을 다운로드하는 데 어떤 문제가 있습니까?

분류에서Dev

R의 기존 데이터 프레임 열에 데이터 프레임 열을 추가 하시겠습니까?

분류에서Dev

데이터 프레임의 주문 기능에 어떤 문제가 있습니까?

분류에서Dev

그래프에 어떤 웹 애플리케이션 기술을 사용해야합니까?

분류에서Dev

기본 속성의 ivar에는 어떤 데이터 유형이 있습니까?

분류에서Dev

들어오는 API 데이터를 Pandas 데이터 프레임에 추가하면 내 기능에 어떤 문제가 있습니까?

분류에서Dev

그것은 어떤 데이터베이스 기능을하지 않고 일시적으로 자바 GUI 응용 프로그램의 런타임에 데이터를 저장할 수 있습니까?

분류에서Dev

iOS 7.1에서 "iBeacon"이있는 주변 장치를 감지하는 데 어떤 기술적 제약이 있습니까?

분류에서Dev

BeautifulSoup을 사용하여 테이블의 특정 셀에서 데이터를 추출 하시겠습니까?

분류에서Dev

독일어 문자의 가변 길이에 어떤 데이터 유형을 사용해야합니까?

분류에서Dev

데이터 소스에서 인증 별명을 사용하면 어떤 이점이 있습니까?

분류에서Dev

sapply의 출력을 데이터 프레임에 저장 하시겠습니까?

분류에서Dev

다국어 사이트의보기에서 원시 값을 필터링 하시겠습니까?

분류에서Dev

산술 오버플로없이 Group By 절이있는 SQL 쿼리의 where 절에서 산술 식을 사용하려면 어떻게해야합니까?

분류에서Dev

열에 튜플을 사용하여 Pandas 데이터 프레임의 형식을 다시 지정 하시겠습니까?

분류에서Dev

Java 프로젝트에 어떤 프레임 워크 / 기술 스택을 사용해야합니까?

분류에서Dev

동적 데이터를 사용하여 C #의 DataTable에 행과 열을 추가 하시겠습니까?

분류에서Dev

Drupal 웹 사이트에 게시 된 기사의 URL을 변경하면 어떤 영향이 있습니까?

분류에서Dev

Python에서이 데이터의 기술 용어는 무엇입니까?

분류에서Dev

여기서 데이터베이스 구조에서 어떤 종류의 정규화가 사용됩니까?

분류에서Dev

OS에 '공식'임시 디렉토리를 사용하면 어떤 이점이 있습니까?

분류에서Dev

CakePHP의 Json 데이터 유형을 사용하여 어떤 취약점 문제가 발생할 수 있습니까?

Related 관련 기사

  1. 1

    Ember 데이터 : 브라우저에 데이터를 저장하는 데 어떤 기술이 사용됩니까?

  2. 2

    루프 또는 다른 기능을 사용하여 R의 빅 데이터 프레임에 주제 ID 변수를 추가 하시겠습니까?

  3. 3

    일련의 인 메모리 비트 맵에서 WebM 라이브 스트림을 생성하려면 어떤 기술을 사용해야합니까?

  4. 4

    R의 데이터 프레임 목록에 적용 할 코드에 어떤 문제가 있습니까?

  5. 5

    Rstudio 뷰어에서 데이터 프레임을 복구 하시겠습니까?

  6. 6

    데이터 프레임에서 열을 선택하고 내보내는 데 어떤 R 함수를 사용할 수 있습니까?

  7. 7

    새 앱에 어떤 기술을 사용해야합니까?

  8. 8

    이 셀레늄 파이어 폭스 프로필이 사용자 정의 폴더에 파일을 다운로드하는 데 어떤 문제가 있습니까?

  9. 9

    R의 기존 데이터 프레임 열에 데이터 프레임 열을 추가 하시겠습니까?

  10. 10

    데이터 프레임의 주문 기능에 어떤 문제가 있습니까?

  11. 11

    그래프에 어떤 웹 애플리케이션 기술을 사용해야합니까?

  12. 12

    기본 속성의 ivar에는 어떤 데이터 유형이 있습니까?

  13. 13

    들어오는 API 데이터를 Pandas 데이터 프레임에 추가하면 내 기능에 어떤 문제가 있습니까?

  14. 14

    그것은 어떤 데이터베이스 기능을하지 않고 일시적으로 자바 GUI 응용 프로그램의 런타임에 데이터를 저장할 수 있습니까?

  15. 15

    iOS 7.1에서 "iBeacon"이있는 주변 장치를 감지하는 데 어떤 기술적 제약이 있습니까?

  16. 16

    BeautifulSoup을 사용하여 테이블의 특정 셀에서 데이터를 추출 하시겠습니까?

  17. 17

    독일어 문자의 가변 길이에 어떤 데이터 유형을 사용해야합니까?

  18. 18

    데이터 소스에서 인증 별명을 사용하면 어떤 이점이 있습니까?

  19. 19

    sapply의 출력을 데이터 프레임에 저장 하시겠습니까?

  20. 20

    다국어 사이트의보기에서 원시 값을 필터링 하시겠습니까?

  21. 21

    산술 오버플로없이 Group By 절이있는 SQL 쿼리의 where 절에서 산술 식을 사용하려면 어떻게해야합니까?

  22. 22

    열에 튜플을 사용하여 Pandas 데이터 프레임의 형식을 다시 지정 하시겠습니까?

  23. 23

    Java 프로젝트에 어떤 프레임 워크 / 기술 스택을 사용해야합니까?

  24. 24

    동적 데이터를 사용하여 C #의 DataTable에 행과 열을 추가 하시겠습니까?

  25. 25

    Drupal 웹 사이트에 게시 된 기사의 URL을 변경하면 어떤 영향이 있습니까?

  26. 26

    Python에서이 데이터의 기술 용어는 무엇입니까?

  27. 27

    여기서 데이터베이스 구조에서 어떤 종류의 정규화가 사용됩니까?

  28. 28

    OS에 '공식'임시 디렉토리를 사용하면 어떤 이점이 있습니까?

  29. 29

    CakePHP의 Json 데이터 유형을 사용하여 어떤 취약점 문제가 발생할 수 있습니까?

뜨겁다태그

보관