1

Google Cloud 데이터 저장소를 사용하고 있습니다. 엔티티에 인덱싱 된 열을 추가했습니다. 기존 엔터티를 쿼리에 표시하려면 설명서에서 모든 엔터티를 다시 저장해야한다고 말합니다.열을 추가 한 후 App Engine 데이터 저장소에서 인덱스를 업데이트하는 방법은 무엇입니까?

행복한 세상에는 AppEngine 콘솔에 열을 다시 색인화하는 버튼이 있습니다. 명백하게 우리는 행복한 세상에 살지 않습니다.

분명히 코드를 작성해야합니다. 이 코드를 실행하고 실행되는 코드가 최상인지 확인하는 가장 좋은 방법은 무엇입니까? (필자는 Java를 사용하고 있습니다. 설명서는 코드가 트리거되는 방식을 보여주지 않고 두 번째 실행을 막는 Phython 예제 만있는 것 같습니다.)

나중에 삭제되는 ServletContextListener로 들어가는 내용입니까? ?

답변

0

mapreduce를 사용합니다.

https://cloud.google.com/appengine/docs/standard/java/dataprocessing/

가 있지만 이동을 사용하여 저렴 다음과 같습니다 : https://github.com/CaptainCodeman/datastore-mapper ( 당신은 또한 비동기 goroutine에 저장 &를 읽을 수 있습니다)

+0

는 빠른 응답 해 주셔서 감사합니다이 표준은 자바 & 파이썬 구현입니다. 나는 mapreduce를 사용한 적이 없습니다. 새로운 기술을 배우는 데 시간이 좀 걸리고 새로운 열을 다시 색인하기 만하면됩니다. 새로운 프로그래밍 언어 (Go)를 배우는 것은 여러 주 프로젝트를 만드는 것으로 보입니다. 서블릿을 만들고 브라우저를 통해 호출했습니다. –

+0

사람들이 URL 매개 변수 (종류 및 필터 조건 전달)를 통해 업데이트를 배포하고 호출 할 수 있도록 미리 정의 된 코드로 저장소를 만드는 것이 유용 할 수 있습니다. –

+0

코드를 별도의 서비스에 넣으면 쉽게 다른 언어로 작성할 수 있습니다. 예를 들어, 기존 코드를 찾으면 Python의 지연 라이브러리를 사용하여 빠른 마이그레이션 작업을 수행 할 수 있습니다. Python으로 모델을 작성한 다음 https://cloud.google.com/appengine/articles/deferred에 표시된 예제와 같은 것을 사용해야합니다. 새로운 서비스를 완료 한 후에는 확실히 삭제할 것입니다. – BrettJ