我不知道我在用 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 |
+-----------+-------------+--------------+
如何过滤搜索结果(即项目)以在标签表中提供具有“皮革”的项目,即使在名称中找不到它?请注意,每个项目都有几列,我也想按颜色过滤。
我应该如何导入我的数据,以及如何查询以下内容:
- 搜索带有此标签或名称中有此标签的皮革和展示物品
- 搜索相同的东西,但按黑色过滤(项目也可以有几种突出的颜色)
谢谢您的帮助。