다음과 같이 사전 정의 된 일치가 있습니다. 상위 ENTITY에 연관된 키 값 집합이 있습니다. 키 2는이 개 값을 가지고 있으며, KEY3은 하나의 값을 가지며, 키 1 세 값이 의미키 값 쌍 평가에 가장 적합한 데이터 구조
{
key1 : [v11,v12,v13],
key2 : [v23,v24],
key3 : [v31,v39]
}
: 부모 ENTIRY에서 각 SET 나는대로 입력을 받게됩니다
ENTITY A:
SET A1. {key1=v11 and key2!=v25}
SET A2. {key1=v12 and key3=v31, v33}
SET A3. {key1=v15 and key2=v25 and key3=v35}
Entity B:
SET B1. {key1=v16 and key2=v26}
SEY B2. {key3!=v39}
SET B3. {key1!=v11 and key3=v31}
과 같이 정의 할 수있다.
그런 다음 모든 키 - 값 일치가 전달 된 키 값 쌍에 의해 충족되는 적어도 하나의 SET을 가진 모든 엔터티를 반환해야합니다.
따라서 위에서 언급 한 엔티티 A의 경우 세트 A1과 세트 A2는 입력에 의해 충족되는 키 - 값 쌍을 갖지만 반면에 ENTITY B의 경우 키 - 값 쌍이 충족되지 않습니다. ENTITY A 만 대답입니다.
200-1000 개의 상위 ENTITIES, 부모 당 20 개의 SET ENTITY & SET 당 200 개의 키 - 값 쌍이있을 수 있습니다. 입력에는 최대 50 개의 키 - 값 쌍이 포함될 수 있습니다.
평가를 위해 외부 DB를 쿼리 할 수 없습니다. 그러나 데이터 구조는 memcache 또는 redis에 저장되도록 직렬화 가능해야합니다.
엔터티의 엔터티 수에 대한 몇 가지 세부 정보 (상한 또는 예상 값)를 엔터티에서 설정합니다. 이는 최적의 접근 방식에 큰 영향을 줄 수 있습니다. –
완료, 제안 해 주셔서 감사합니다. –