كيف يمكنني إزالة الفهارس غير المستخدمة في محرك تطبيق Google؟

StackOverflow https://stackoverflow.com/questions/813839

  •  03-07-2019
  •  | 
  •  

سؤال

لدي أضاف عن طريق الخطأ مرشح جديد لتطبيق GAE الخاص بي. حالة الفهرس هي "خدمة" الآن - ومع ذلك لا أحتاج إلى هذا الفهرس على الإطلاق وأرغب في إزالته. كيف أقوم بذلك؟

هل كانت مفيدة؟

المحلول

تم توثيقه هنا. امل ان يساعد.

حذف الفهارس غير المستخدمة

عند تغيير أو إزالة فهرس من index.yaml ، لا يتم حذف الفهرس الأصلي من محرك التطبيق تلقائيًا. يمنحك هذا الفرصة لترك إصدار أقدم من التطبيق يعمل أثناء إنشاء فهارس جديدة ، أو العودة إلى الإصدار الأقدم على الفور إذا تم اكتشاف مشكلة مع إصدار أحدث.

عندما تكون متأكدًا من أنه لم تعد هناك حاجة إلى الفهارس القديمة ، يمكنك حذفها من محرك التطبيق باستخدام الأمر التالي:

appcfg.py vacuum_indexes myapp/

يحذف هذا الأمر جميع فهارس التطبيق غير المذكورة في الإصدار المحلي من index.yaml.

نصائح أخرى

بالنسبة إلى GAE / Java ، تتضمن الوثائق هذه المعلومة:

حذف الفهارس غير المستخدمة

...

عندما تكون متأكدًا من أن الفهارس القديمة لم تعد مطلوبة ، يمكنك حذفها من محرك التطبيق باستخدام إجراء الفراغ _indexes:

./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war

يحذف هذا الأمر جميع الفهارس للتطبيق غير المذكورة في الإصدارات المحلية من indexes.xml التي تم إنشاؤها/indexes-auto.xml تم إنشاؤها/datastore.

في Windows Google Appengine Java, ، علينا أن نستخدم APPCFG.CMD أمر حذف الفهارس غير المستخدمة من التطبيق المنشور.

بناء الجملة :

appengine-java-sdk-path bin appcfg.cmd vacuum_indexes project-root-path poject-name war

بالنسبة إلى Gae-Java ، كما ذكر Jochenjung ، ستعمل أداة "Vacuum_Indexes" ، ولكن عليك محاكاة مشروع Python بالطريقة التالية:

لاحظ أن أداة الفراغ تبدو فقط تعمل عند الإشارة إلى *.appspot.com ، وليس Dev المحلي. بيئة.

  • إنشاء app.yaml لتطبيقك ووضع هذا في دليل / myapp / root ، إلى الحد الأدنى:

    application: myproj
    version: 4
    runtime: python
    api_version: 1

حيث "الإصدار" هو إصدار التطبيق الخاص بك ، "MyProj" اسم GAE لمشروعك.

  • قم بإنشاء index.yaml ووضعه في نفس الجذر. بدلاً من وضع معلومات الفهرس بشكل جذر في هذا الملف للمؤشرات التي تريد الاحتفاظ بها ، اتضح أن الأداة ستمنحك تأكيدًا نعم/لا لكل فهرس يحذفه ، لذلك يكون من الأسهل فقط الإشارة إلى أن الجميع يجب إسقاط المؤشرات ، واستخدم التأكيد للحفاظ على تلك التي تريد الاحتفاظ بها.

indexes:

# AUTOGENERATED

ثم قم بتشغيل الأمر كما هو موضح أعلاه ،


  /appcfg.py vacuum_indexes /path/to/myproj/

اعتبارًا من فبراير 2019 ، إنه الآن:

gcloud datastore indexes cleanup index.yaml

إذا كنت تستخدم مافن mvn appengine:vacuum_indexes. لا تحتاج الى mvn appengine:update, ، يقوم الأمر بتحديث الخادم البعيد.

قائمة كاملة من أوامر Maven هنا.

على Windows باستخدام Java ، عمل هذا الأمر بالنسبة لي:

appcfg.cmd vacuum_indexes C:\Users\Name\AndroidStudioProjects\Project\backend\src\main\webapp\

ملحوظة: تأكد من أن لديك ملف datastore-indexes.xml في ال webapp المجلد (سيتم تجنب هذه الفهارس).

مع الإصدار الحالي من GCloud ، يمكنك ببساطة القيام:

gcloud datastore cleanup-indexes index.yaml

وهو أكثر سهولة من استدعاء appcfg.cmd [...].

gcloud datastore cleanup-indexes /path/to/file/index.yaml

هذا الأمر لم يعد يعمل.

gcloud datastore indexes cleanup /path/to/index.yaml

هذا ال أمر جديد.

يجب عليك تشغيلها google cloud console. عادة يمكنك تحميل index.yaml ملف باستخدام file upload ميزة في google cloud console. يذهب ملفك إلى ملف مباشرة _admin تستطيع cd إلى هناك واتصل ،

gcloud datastore indexes cleanup index.yaml

نصيحة

إذا كنت تستخدم datastore في مشروع جافا, ، عندك datastore-indexes.xml بدلاً من index.yaml. قد تواجه بعض المتاعب في العثور على index.yaml ملف إذا كنت لا تعرف أين تبحث.

يمكنك ببساطة العثور على مسار index.yaml ملف من خلال النظر في deploy console في IDE الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top