Algolia InstantSearch jsライブラリとPHPクライアントを使って、InstantSearch urlSyncで作成したクエリ文字列をPHPライブラリの検索メソッドに渡したいとします。これを行う便利な方法はありますか?または、ライブラリが自分自身が期待するパラメータにクエリ文字列を変換する必要がありますか?Algoliaでは、urlSyncによって作成されたクエリ文字列をPHPクライアントに渡す方法はありますか?
例えば、私は、文字列を持っている:
?q=&hPP=1000&idx=myindex&p=0&dFR%5Bcolor%5D%5B0%5D=orange&is_v=1
理想的には私がしたい
$client = new \AlgoliaSearch\Client("x", "x");
$index = $client->initIndex($_GET['idx']);
parse_str($_SERVER['QUERY_STRING'], $params);
$res = $index->search('', $params);
が、そうすること渡すのparamsで予想外の特性があること、エラーがスローされます。
ありがとうございます。はい、目標はSEOです。 jsの準備が整う前に、キャッシュされた結果を提供したい。 syncUrlで使用されている名前がフィルタパラメータと互換性があり、これらがすべてのクライアントで一貫していれば素晴らしいでしょう(すでに存在しているかもしれませんが、これまでのところjsとPHPは使用していません)。しかしそれは単なる示唆です。今のところ、渡されたURLパラメータをPHPにマップするだけで、私たちは受け取るものを厳密に制御し、サーバー上でjsを実行するのは不当です。再度、感謝します! –
これは間違いなく良い提案であり、内部的に議論されています。これを変更すると数ヶ月前になる可能性は低いため、このソリューションはその間に利用可能な最良のソリューションになる可能性があります。しかし明らかに、サポートされているすべてのプラットフォームでこの経験を統一するために全力を尽くしています。 :) – Jerska