【问题标题】:Algolia Multiple Keyword SearchAlgolia 多关键字搜索
【发布时间】:2018-05-20 17:40:13
【问题描述】:

我可以进行基本搜索,但在文档中,我找不到任何文档供用户使用多个 pramateres 进行搜索。 数据库结构为:

[{
    "productName": "Product A",
    "productSalesPrice": "3.9900",
    "productUPC": "UPC123",
    "storeId": "storeA",
    "objectID": "obj1",
  },{
    "productName": "Product B",
    "productSalesPrice": "3.9900",
    "productUPC": "UPC123",
    "storeId": "storeA",
    "objectID": "obj1",
  },{
    "productName": "Product A",
    "productSalesPrice": "3.9900",
    "productUPC": "UPC123",
    "storeId": "storeB",
    "objectID": "obj1",
  },{
    "productName": "Product C",
    "productSalesPrice": "3.9900",
    "productUPC": "UPC123",
    "storeId": "storeB",
    "objectID": "obj1",
  }]

我想从 StoreB 获得 Product A

我使用了以下代码:

index.search({
            query: 'Product A',
            attributesToRetrieve: ['productName', 'productUPC'],
            page: 0,
            hitsPerPage: 10,
        },
        function searchDone(err, content) {
            if (err) throw err;
            console.log(content.hits.length);
            console.log(content.hits);
        }
    );

我也不知道如何使用 store Id 进行查询。

【问题讨论】:

    标签: typescript firebase ionic3 google-cloud-firestore algolia


    【解决方案1】:

    您是否尝试在 storeId 上添加构面并在 storeId:storeB 上添加过滤器?

    见:https://www.algolia.com/doc/guides/searching/filtering/

    【讨论】:

    • 它不会在客户端过滤。就像它会从 Algolia 获取 1000 个结果并在移动设备上过滤到 50 个。所以我不会为 1000 个结果(读取查询)而不是 50 个实际结果付费。
    • 在服务器端不进行分面。如果您添加过滤器,您将只检索与过滤器匹配的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多