2016-10-09 7 views
1

特定のファセットでフィルタリングしようとしましたが、先頭のハイフンを持つキーの一部がで、結果セットをフィルタリングしていないようです。ハイフンで始まるレコードをフィルタリングする/ファセットする方法

すなわち、キーとしてファセットを追加しようとすると、次のJSON

{ 
    key: ["-does", "-not", "-work", "but,thisworks"] 
} 

を与え:-doesは、結果セットをフィルタリングすることはありません。

他の誰かがこの状況に遭遇したか、解決策を知っていますか?

+0

:次のように使用しますcan-i-search-for-punctuation-special-characters)が含まれています。これが問題だろうか? –

+1

@SimonMᶜKenzie:これはいい考えですが、Algoliaのファセットは実際に完全な文字列の比較を行っています。索引付けされていない句読点は、照会のテキスト検索用です。 – Jerska

答えて

0

Algoliaのファセットフィルタは、という特定のタイプをサポートしており、を除きます。ダッシュで始まるとき、エンジンはfacetFiltersで廃止されたときにこの値を含む項目を結果リストから実際に除外します。

しかし、エンジンには新しいパラメータがあり、algolia.comダッシュボードではまだ使用していない新しいパラメータがあります(filters)。

このクエリを受け入れ、ファセット値として「-does」を持つレコードを探します。このパラメータ:あなたができると、

index.search('', { filters: "key:-does" }) 

あなたは除外構文を使用したい場合は、このパラメータはNOTオペレータを受け入れます(https://www.algolia.com/doc/faq/searching/how-私はAlgoliaについて何も知らないが、よくある質問は[句読点文字は、デフォルトではインデックスが作成されていない]と言う

index.search('', { filters: "NOT key:does" }) 
関連する問題