Tôi đang gặp sự cố với chỉ mục của Công cụ ứng dụng của Google. Khi chạy ứng dụng của tôi thông qua GoogleAppEngineLauncher, ứng dụng hoạt động tốt. Khi triển khai các ứng dụng, tôi nhận được lỗi sau:Lỗi Máy ứng dụng của Google: NeedIndexError: không tìm thấy chỉ mục phù hợp
NeedIndexError: no matching index found.
The suggested index for this query is:
- kind: Bar
ancestor: yes
properties:
- name: rating
direction: desc
Các lỗi được tạo ra sau dòng mã này:
bars = bar_query.fetch(10)
Trước khi dòng trên mã, nó đọc:
bar_query = Bar.query(ancestor=guestbook_key(guestbook_name)).order(-Bar.rating)
Tệp index.yaml của tôi chứa chỉ mục "được đề xuất" chính xác bên dưới # AUTOGENERATED:
- kind: Bar
ancestor: yes
properties:
- name: rating
direction: desc
Tôi có thể thiếu cái gì đó không? Tôi đã xóa tệp index.yaml và triển khai lại ứng dụng (thông qua dòng lệnh) và một tệp ít được tải lên - vì vậy tệp index.yaml có ở đó.
Mọi thứ đang hoạt động tốt tại địa phương. Tôi đang làm việc trên Mac OSx mới nhất. Lệnh được sử dụng để triển khai là:
appcfg.py -A app-name --oauth2 update app
Kho dữ liệu tôi triển khai dựa trên ứng dụng hướng dẫn lưu bút.
Mọi trợ giúp sẽ được đánh giá cao.
EDIT:
My ndb.Model được định nghĩa như sau:
class Bar(ndb.Model):
content = ndb.StringProperty(indexed=False)
lat = ndb.FloatProperty(indexed=False)
lon = ndb.FloatProperty(indexed=False)
rating = ndb.IntegerProperty(indexed=True)
url = ndb.TextProperty(indexed=False)
Xin chào @Andrei, cảm ơn, tôi đã ở đó. Nó nói: "Bạn chưa tạo chỉ mục cho ứng dụng này. Một số loại truy vấn yêu cầu chỉ mục được xây dựng. Bạn có thể quản lý các chỉ mục của mình trong tệp index.yaml." Trên các diễn đàn khác tôi đọc rằng khi sử dụng index.yaml nó không bao giờ nói "phục vụ". – ISJ
Tôi đọc ở đâu đó như sau: "Chỉ mục mà bạn đã đặt trong datastore-index.xml của bạn là một chỉ mục thuộc tính duy nhất. Điều này có nghĩa là nó được Datastore tự động tạo và sẽ không hiển thị trong bảng điều khiển của bạn." – ISJ
Bạn là đúng - chỉ mục thuộc tính duy nhất không cần phải được xác định và chúng sẽ không hiển thị trên trang chỉ mục. Tôi quên hỏi rõ ràng: thuộc tính này có được lập chỉ mục không? –