كيف يمكنني إزالة الفهارس غير المستخدمة في محرك تطبيق Google؟
-
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 الخاص بك.