web-dev-qa-db-ja.com

Drupalには検索結果のAJAXソリューションがありますが、できればApachesolr統合を使用していますか?

具体的には、ユーザーが検索クエリを入力しているときに、上位5つの検索結果をドロップダウンメニューのオプションとして表示できることを指します。これは、ノード参照のオートコンプリートの動作と多少似ています。このような機能をApachesolrで動作させると便利です。

9
DanH

ニーズに応じて、いくつかの解決策があります。おそらくAppleのLive Search機能に最も近いものは Finder モジュールでしょう。ただし、現時点ではApache Solrと統合されていません。

Solr統合はロードマップ上にあるため、 Inline Ajax Search モジュールにも注目します。プッシュ統合への貢献が必要な場合があります。

3番目の解決策は、 Apache Solr AJAX モジュールです。実行しようとしている内容と正確に一致しない場合がありますが、クエリを入力してフィルターを有効にすると、ページをインラインで更新できます。

6
Chris Pliakas

モジュールをインストールすることをお勧めします http://drupal.org/project/apachesolr_autocomplete 、これをそのまま使用すると、Solrのキーワード候補が表示されます。

次の問題は、検索語ではなく検索結果にノードを表示することです。Solrに移動するときにクエリをインターセプトして検索するように指示するカスタムモジュールを作成できるapachesolr_modify_query($query,'apachesolr_autocomplete');というフックがあります。ノードではなく、検索候補。

残っている問題は、検索結果にテーマを設定して、通常の検索のように見えるようにすることです。

すでに利用可能な2つのテーマ機能があります。

  • theme_apachesolr_autocomplete_highlight
  • theme_apachesolr_autocomplete_spellcheck

お役に立てれば。

結局のところ、基本モジュールapachesolr_autocompleteを使用せずにモジュール全体を自分で作成することもできますが、手間のかかる作業の多くが必要であり、利点になると思います。

2
wiifm

AcquiaはSolr上に構築されたソリューションを提供します。 http://network.acquia.com/services/acquia-search

2
MikeNGarrett