2017-07-06 72 views
2

我有一個屬性是字符串數據類型。我使用algoliasearchHelper對象來搜索我的Algolia數據庫。我想要做的是創建一個facet過濾器,該過濾器接受指定的前綴,並返回具有指定前綴內的值的指定屬性內的所有對象。如何創建在過濾時使用前綴的構面過濾器

例如,到目前爲止我用這:

Helper.addDisjunctiveFacetRefinement("attributeName","Can"); 

這將返回一個具有價值的所有對象「可以」在「的attributeName」屬性,但它不返回任何對象在「attributeName」屬性中具有「加拿大」或「加拿大人」的值,即使這些屬性的前綴爲「可以」。

我該如何做到這一點,以便它在過濾時使用指定的前綴進行過濾。

回答

5

分離面精化用於精確匹配過濾器。這主要用於從可能的過濾器列表中選擇某個過濾器。我假設你想要的是獲得所有可能過濾器的子集。

這可以通過我們的searchForFacetValues函數來實現。首先,這需要在您的索引設置中設置爲searchable(attributeName),以便我們可以生成其他數據結構以便輕鬆搜索構面。您也可以在文檔中關於該設置的read more

所以一旦屬性進行搜索,您可以使用輔助功能完善的過濾器列表如下:

Helper.searchForFacetValues("attributeName","Can"); 

有一個偉大的一天!

+0

當我使用它時,它會觸發它自己的搜索。我已經在使用: 'Helper.search()'進行搜索。有什麼方法可以讓我可以傳遞參數給algolia搜索,這樣當我調用'Helper.search()'時,它會搜索所有具有前綴「Can」的facet值,同時還保留我已聲明的其他facet過濾器? – Algoliahelpmeplz

+0

搜索方面值是它自己的單獨搜索。它只是查看這一個屬性,因此將它作爲參數並不合理,並且我們不支持該用例(尚)。我希望你能找到解決辦法,或者隨時向我們的支持發送更多信息 –