web-dev-qa-db-ja.com

カスタムテーブルのApache Solrインデックスデータ

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)を使用するとうまくいくようですが、確かに。

これについて少し考えてください。前もって感謝します。

1

私はこれを信じています 問題にはあなたが探している情報があります あなたはカスタムフィールドを含めるためにApacheSolrスキーマファイルを修正する必要があります。そして、データがどこにあるかを更新フックでSolrに伝えます。

さらに優れたリソースは、 Acquia:Apache Solrを使用したカスタムデータのインデックス付け からのこのブログ投稿かもしれません。

申し訳ありませんが、例をコード化することはできません。私は今Solrをインストールしていませんし、そんなに自由な時間はありません。

これらのサンプルリンクは両方ともD6用です。

1
tenken

D6では、カスタムデータを新しいノードタイプ hook_node_info ()として登録し、少なくとも hook_form ()を指定する必要があります。キャッシュをクリアすると、コンテンツタイプリストにカスタムノードタイプが表示されます。

そこからhook_apachesolr_update_index()を使用して、非標準ノードフィールドをインデックスに追加できるはずです。

0
paul.linney