ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
Algolia における「a に x を含み、b に y を含む」部分一致検索の調査

Algolia における「a に x を含み、b に y を含む」部分一致検索の調査

この記事は、AIが作成し、一部を人が修正したものです。 はじめに フルテキスト検索エンジンの中でも、Typesense、MeiliSearch、Algolia は小規模なプロジェクト向けの選択肢として注目されています。しかし、「a に x を含み、b に y を含む」部分一致検索 が可能かどうかは、プロジェクトの要件に関わる重要なポイントです。本記事では、Algolia での部分一致検索の可否や、Elasticsearch との比較を行います。 Algolia での部分一致検索 Algolia では、全文検索 (query) を利用できますが、特定のフィールドごとに部分一致検索を行うには制限があります。 方法1:query を使った検索(部分一致可能だがフィールド指定不可) index.search('x y') 特徴: x や y を含むデータを全フィールドから検索。 どのフィールドでヒットしたかを制限できない 。 方法2:restrictSearchableAttributes を使う(単一フィールドの検索) index.search('x', { restrictSearchableAttributes: ['a'] }); index.search('y', { restrictSearchableAttributes: ['b'] }); 特徴: a に x を含むデータ、b に y を含むデータを個別に検索可能。 両方の条件を同時に適用する方法はない 。 Algolia の結論 ✅ 部分一致検索は可能だが、複数フィールドの AND 条件は難しい 。 ❌ 「a に x を含み、b に y を含む」検索は標準では不可 。 Elasticsearch での部分一致検索 Elasticsearch では、bool クエリを使うことで「a に x を含み、b に y を含む」部分一致検索が可能です。 ...

DrupalのSearch API Algoliaモジュールを試す

DrupalのSearch API Algoliaモジュールを試す

概要 DrupalのSearch API Algoliaモジュールを試す機会がありましたので、備忘録です。 https://www.drupal.org/project/search_api_algolia インストール Drupal 11では、以下でインストールできました。 composer require 'drupal/search_api_algolia:^3.1' 設定 モジュールのインストール後、サーバとインデックスの設定を行います。 Add server Algoliaの設定画面で確認できる設定情報に基づき、サーバを作成します。ここでは、Write API Keyを使用しました。 Add index インデックスの作成以降は、他のモジュールでの設定と同様です。以下は、Amazon OpenSearch Serviceを使用する例です。 設定後、インデクシングを行います。 結果 以下のように、Drupalへのコンテンツ登録や更新に応じて、Algoliaのインデックスも更新されました。 まとめ このような連携により、Algoliaを用いた高速および柔軟な検索を行うことが可能になりました。 Drupalの活用にあたり、参考になりましたら幸いです。

Algoliaでページネーションの上限を変更する

Algoliaでページネーションの上限を変更する

概要 Algolia では、検索結果のページネーションに制限 (paginationLimitedTo) が設定されており、デフォルトでは 1,000件 までの検索結果にしかアクセスできません。この設定を変更することで、ページネーションの最大件数を調整できます。 設定方法 ページネーションの上限 (paginationLimitedTo) を変更するには、以下の方法があります。 Algolia ダッシュボードから設定 Algolia にログイン 対象のインデックス を選択 Configuration(設定) → Pagination(ページネーション) を開く paginationLimitedTo の値を変更 その他 API による設定変更も可能なようです。 まとめ この設定を適切に活用することで、より柔軟な検索体験を提供できます。 参考になりましたら幸いです。