Drupal 6.22 WebサイトでApache Solrを使用しています。Solrのバージョンは3.6.2であり、apachesolr-6.x-1.8モジュールを使用しています。Solrはすべてのノードベースのコンテンツにインデックスを付けました。しかし、カスタムテーブルにインデックスを付けたいと思います。このテーブルには、ウェブサイトへのいくつかの販売促進データが表示され、約531,067データがあります。スキーマは以下のとおりです。
_
+-------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+-------------------+----------------+
| topic_id | int(11) | NO | PRI | NULL | auto_increment |
| subject_id | int(11) | NO | MUL | NULL | |
| title | varchar(255) | NO | | NULL | |
| created | timestamp | NO | | CURRENT_TIMESTAMP | |
| reply_count | int(11) | NO | | NULL | |
| view_count | int(11) | NO | | NULL | |
+-------------+--------------+------+-----+-------------------+----------------+
_
Solrでそのテーブルにインデックスを付ける方法と、Solrのschema.xmlにスキーマを追加する方法を教えてください。 Exposed Solr Hooks(6.x-1.x)for developer のフックを見てきたように、hook_apachesolr_update_index(&$document, $node)
を使用するとうまくいくようですが、確かに。
これについて少し考えてください。前もって感謝します。
私はこれを信じています 問題にはあなたが探している情報があります あなたはカスタムフィールドを含めるためにApacheSolrスキーマファイルを修正する必要があります。そして、データがどこにあるかを更新フックでSolrに伝えます。
さらに優れたリソースは、 Acquia:Apache Solrを使用したカスタムデータのインデックス付け からのこのブログ投稿かもしれません。
申し訳ありませんが、例をコード化することはできません。私は今Solrをインストールしていませんし、そんなに自由な時間はありません。
これらのサンプルリンクは両方ともD6用です。
D6では、カスタムデータを新しいノードタイプ hook_node_info ()として登録し、少なくとも hook_form ()を指定する必要があります。キャッシュをクリアすると、コンテンツタイプリストにカスタムノードタイプが表示されます。
そこからhook_apachesolr_update_index()
を使用して、非標準ノードフィールドをインデックスに追加できるはずです。