如何在azure搜索中对wagtail中的模型进行索引



我需要使用wagtail CMS平台在azure上为我的模型建立索引。我编写了crud功能,可以访问AZURE服务,并且可以基于硬编码数据创建索引。

def createIndex(request):
endpoint = 'https://service-test.search.windows.net/'
api_version = '2020-06-30'
url = endpoint + "indexes?api-version=" + api_version
index_schema = {
"name": "hotels-test",  
"fields": [
{"name": "HotelId", "type": "Edm.String", "key": "true", "filterable": "true"},
{"name": "HotelName", "type": "Edm.String", "searchable": "true", "filterable": "false", "sortable": "true", "facetable": "false"},
{"name": "Description", "type": "Edm.String", "searchable": "true", "filterable": "false", "sortable": "false", "facetable": "false", "analyzer": "en.lucene"},
{"name": "Description_fr", "type": "Edm.String", "searchable": "true", "filterable": "false", "sortable": "false", "facetable": "false", "analyzer": "fr.lucene"},
{"name": "Category", "type": "Edm.String", "searchable": "true", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "Tags", "type": "Collection(Edm.String)", "searchable": "true", "filterable": "true", "sortable": "false", "facetable": "true"},
{"name": "ParkingIncluded", "type": "Edm.Boolean", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "LastRenovationDate", "type": "Edm.DateTimeOffset", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "Rating", "type": "Edm.Double", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "Address", "type": "Edm.ComplexType", 
"fields": [
{"name": "StreetAddress", "type": "Edm.String", "filterable": "false", "sortable": "false", "facetable": "false", "searchable": "true"},
{"name": "City", "type": "Edm.String", "searchable": "true", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "StateProvince", "type": "Edm.String", "searchable": "true", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "PostalCode", "type": "Edm.String", "searchable": "true", "filterable": "true", "sortable": "true", "facetable": "true"},
{"name": "Country", "type": "Edm.String", "searchable": "true", "filterable": "true", "sortable": "true", "facetable": "true"}
]
}
]
}

headers = {'Content-Type': 'application/json', 'api-key': 'key*******'}
response = requests.post(url, headers=headers, json=index_schema)
index = response.json()
return HttpResponse(response)

然而,我有一堆文件夹,每个文件夹都有一个模型文件。我需要以某种方式索引模型,但我不知道从哪里开始?有人能给我指正确的方向吗?

谢谢

在中

https://github.com/Azure/azure-rest-api-specs/blob/master/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndex.json

您可以找到RestAPI的请求和响应。

顺便说一下,我们有一个SDK和一些针对这个场景的示例。

https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/search/azure-search-documents/samples/sample_index_crud_operations.py#L41-L62

(我在微软SDK团队工作(

最新更新