2017-07-16 26 views
2

我目前正在研究Algolia的位置服务功能。我有一个简单的问题。Algolia上的多个“LIKE”字符串搜索

是否可以使用多个“like”字符串进行搜索,类似于MySQL中的以下内容?

select * from route 
WHERE pickup LIKE "51%" 
AND dropoff LIKE "80%"; 

在Algolia,让我们假设有一个简单的索引由小的数据:

[{ 
    "pickup" : "51105", 
    "dopoff" : "80637" 
}, 
{ 
    "pickup" : "51105", 
    "dopoff" : "39871" 
}, 
{ 
    "pickup" : "32791", 
    "dopoff" : "40545" 
}] 

我检查可以给出确切两个参数检索,如:

index.search({ 
    facetFilters: 'pickup: 51105, dropoff:80637', 
} 

我们也可以使用带有错字正常查询目标则params的一个,

index.search({ 
    query: '51', 
    restrictSearchableAttributes: [ 
    'pickup' 
    ], 
} 

但他们都不满意我的原始要求。

我发现了一个帖子,可能与我在algolia社区的问题有关,但它并没有给我很多见解。 Querying multiple terms in multiple fields

我认为有一个解决方案,因为我相信这是一个很常见的用例。 如果有人遇到类似的情况或一些见解,这将是非常好的。非常感谢。

回答