ElasticStack

[es] random sort

닉의네임 2022. 10. 20. 15:37
반응형

elasticsearch random sort 를 구현해보자

여러가지 방법이 있지만 잴 만만한 방법으로 

 

개발환경

elasticsearch 7.9.2

 

sample code 

GET exp-item/_search/
{
  "_source": [
    "itemNm",
    "itemNo",
    "itemStoreInfo.eventInfo.rmsEventKind"
  ],
  "size": 12,
  "query": {
    "bool": {
      "must_not": [
        {
          "term": {
            "itemNo": {
              "value": "055964330"
            }
          }
        }
      ],
      "filter": [
        {
          "terms": {
            "itemStoreInfo.eventInfo.rmsEventKind": [
              "BASIC",
              "PICK",
              "TOGETHER",
              "GIFT"
            ]
          }
        },
        {
          "term": {
            "itemStoreInfo.soldOutYn": "N"
          }
        }
      ]
    }
  },
  "sort": [
    {
      "_script": {
        "script": "Math.random()",
        "type": "number",
        "order": "asc"
      }
    }
  ]
}
1회 2회 3회 4회 5회
반응형