0

はい、各タグには一意の ID があります。これらの一意の ID をテーブルに格納する必要はありません。このように保管できます…</p>

$tags = array("Music","Sports","Food","Books",………)

配列は簡単に変更できるため、私にとって最良の方法です。さらに、配列キー自体が一意の ID として機能します。

しかし、私の状況はもっと深刻なので、正確な状況を詳しく説明させてください.

ID、タイトル、説明、タグなどのフィールドを持つ単一のテーブルがあります。

Id  |    Title      |  Description                     |  Tags  
1   | Sport & Hygine| With sport & music good food is …| Sport, Food
2   | Rock Concert  | Great Rock Show at …             | Music, Dance

ユーザーが (フィルター) を選択してレコードを表示すると、[タグ] フィールドに音楽が表示されます。タイトルと説明の 2 行目に Music という単語がまったくありませんが、それでも最優先されるはずです。また、タイトルと説明はテキスト フィールドであり、Sphinx は通常の方法で検索し、タイトルと説明に適切な重みとランクを与えることに注意してください。ただし、タグ フィールドはテキスト インデックスとして検索できません。タグ フィールドをフィルタリングする必要があります。

したがって、上記の例では、音楽が選択されている場合、行 2 のみが表示されます。これは、タグに基づいてフィルター処理され、行 2 の [タグ] フィールドに音楽しかないためです。ただし、音楽は [説明] フィールドの行 1 にも存在しますが、ここでは無視する必要があります。状況を明確にすることができれば幸いです。これでどんなヘップでも大歓迎です。

4

1 に答える 1