2

我有以下 Algolia 请求:

index.setSettings({                     
                    getRankingInfo : 1,
                    attributesToIndex:"name,colour,style,material,category",
                    hitsPerPage: 50,
                    ignorePlurals : false,
                    attributesToRetrieve : "objectID",
                    restrictSearchableAttributes : 
                        "name,colour,style,material,category",
                    typoTolerance: "strict",
                    queryType: "prefixNone",
                    page : skipParameter
    });

 index.search(query, function(error, content) {
    ....
 })

但是,某些设置似乎并未应用于搜索。例如,它检索所有属性,我很确定可搜索的属性不受限制。此外,没有返回排名信息,从返回的 JSON 可以看出,命中后清空,这意味着它绝对不接受至少该设置。

{"hits":[],"nbHits":173,"page":0,"nbPages":4,"hitsPerPage":50,"processingTimeMS":3,
"query":"Red sofa","params":"query=Red%20sofa"}

如果这可能对结果有影响,我正在 Parse.com 云代码搜索方法中运行此代码?

4

1 回答 1

4

有一些语法错误。首先attributesToIndex应该是一个数组:

'attributesToIndex': ["name", "colour", "style", "material", "category"]

同样的restrictSearchableAttributes

您还可以在设置设置时从 algolia 获得响应,这样您就可以看到配置错误。前任:

index.setSettings({
  'customRanking': ['desc(followers)']
}, function(err, content) {
  console.log(content);
});

一些有用的资源:

并且一定要使用最新版本的 Algolia JS 客户端

https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.xx-to-3.xx

快乐星期天编码!:)

于 2015-05-10T12:45:28.753 回答