0

SOLRで何をしているのかわからないので、これまでのところ単純なことをすることで得られ、SQLで結合することで得られました。

buysellitems次のようなフィールドがたくさんあるテーブルがあります

+-----------+-------+-------------------+
| buysellid | price | buysellname       |
+-----------+-------+-------------------+
|      3558 |   140 | Multi Layer       |
|      3561 |   175 | form              |
|      3562 |   160 | Floral            |
|      3563 |   199 | Specks            |
|      3564 |   385 | Ruby Red          |
|      3565 |   160 | B&W           |
|      3567 |   175 | Pattern           |
|      3569 |   125 | Fairy Floss Tunic |
|      3570 |   185 | Brandy Dress      |
|      3571 |    85 | Anissa            |
+-----------+-------+-------------------+

だから私は次のようなものを持っています

<entity name="item" id="BuySellID" query="SELECT 
  i.BuySellID, i.BuySellName, i.Price, ...">
    <field name="buysellid" column="buysellid" />
    <field name="BuySellName" column="BuySellName" />
    <field name="price" column="price" />
    ...
</entity>

そのため、商品を名前で簡単に検索したり、価格でフィルタリングしたりできます。しかし、ユーザーは、buysellitemfeatures次のようなテーブルで商品のタグを指定することもできます。

+-----------+-------------+--------------+
| buysellid | featurename | featurevalue |
+-----------+-------------+--------------+
|      3860 | color       | red          |
|      3860 | color       | white        |
|      3861 | tag         | leather      |
|      3861 | tag         | natural      |
|      3861 | color       | black        |
|      3861 | color       | pink         |
|      3862 | tag         | clothing     |
|      3862 | color       | black        |
|      3862 | color       | pink         |
|      3863 | color       | black        |
|      3863 | color       | pink         |
|      3872 | color       | black        |
|      3872 | color       | white        |
|      3873 | color       | black        |
|      3873 | color       | white        |
|      3874 | color       | black        |
|      3874 | color       | white        |
+-----------+-------------+--------------+

検索結果 (アイテム) をフィルタリングして、名前に見つからなくてもタグ テーブルに「レザー」が含まれるアイテムを表示するにはどうすればよいですか? 各アイテムにはいくつかの列があることに注意してください。色でもフィルタリングしたいと思います。

データをインポートする方法と、次のようなクエリを実行する方法:

  1. このタグが付いているか、名前に含まれているレザーとディスプレイのアイテムを検索します
  2. 同じものを検索しますが、色は黒でフィルターします (アイテムにはいくつかの目立つ色がある場合もあります)。

ご協力ありがとうございました。

4

2 に答える 2