2013-04-21 2 views
2

앱 엔진 앱의 데이터 모델을 Objectify로 옮기고 있는데 엔티티의 Objectify가 엔티티의 모든 속성을 기본적으로 인덱스되지 않은 것으로 지정 했으므로 쓰기가 빠르면 공간이 절약됩니다.필드 인덱스를 안전하게 제거하기

하지만 GAE 기본값 (적어도 앱을 작성했을 때)은 기본적으로 모든 입력란에 필드 입력란을 작성하여 모든 입력란의 색인을 생성합니다. 그리고 수십만 개의 행이 있습니다.

필자는이 필드의 작은 부분 만 인덱싱 할 필요가 있으며 색인화되지 않은 필드로 설정하려고합니다. 이러한 필드를 objectify에서 @Unindexed로 설정하려고하지만 이미 데이터 저장소에있는 인덱스 된 데이터를 제거하려면 어떻게해야합니까?

답변

3

단일 속성 색인을 추가하거나 제거하려면 메타 데이터를 변경하고 @Index 및 @Unindex를 추가/제거한 다음 엔티티를로드하고 저장하십시오. 이를 위해 map/reduce를 사용할 수 있습니다.

+0

그래서 이러한 색인을 "제거"할 방법이 없습니까? –

+0

개별 엔티티를로드/저장하는 것 외에는 없습니다. – stickfigure

+0

얼마나 고통 스럽습니까. 각 색인에 삭제 버튼이있는 것이 좋을 것입니다! 그러나 나는 그것이 어떤 이유로 든 일어날 수 없을 것이라고 생각합니다. 맞춤 색인을 비우는 것은 꽤 쉽습니다. 부끄러운 일이 너무 많아서 속성 인덱스를 만들 수 없습니다 ... –