首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure搜索-创建索引- JSON解码错误

Azure搜索-创建索引- JSON解码错误
EN

Stack Overflow用户
提问于 2020-07-27 09:48:46
回答 1查看 114关注 0票数 0

我正在使用django框架。我正在尝试使用他们提供的REST 教程在Azure门户中创建一个索引。当我发送我的邮件请求时,我会收到以下错误。

JSONDecodeError at /createIndex

这是我的方法。

代码语言:javascript
复制
@csrf_exempt
def createIndex(request):
    endpoint = 'https://service.search.windows.net/'
    api_version = '2020-06-30'
    url = endpoint + "indexes" + api_version

    index_schema = {
        "name": "hotels-quickstar11t",  
        "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': '******'}

    response = requests.post(url, headers=headers, json=index_schema)
    index = response.json()

    return HttpResponse(response)

你知道我的方法有什么问题吗?

fyi;我屏蔽了api密钥和服务名称。它们是有效的,因为它们为其他方法工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-27 10:26:52

我认为问题在于您的代码中的以下一行:

代码语言:javascript
复制
url = endpoint + "indexes" + api_version

如果您注意到,您缺少了一个?api-version=查询参数(您只是包含了api值)。

请将上述代码行更改为

代码语言:javascript
复制
url = endpoint + "indexes?api-version=" + api_version

这应该能解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63112727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档