对全文搜索或已有搜索算法的建议



谁能建议如何轻松解决下面的搜索问题,我的意思是有任何算法,或全文搜索将足以满足这一点?

有以下分类项目数据,

白菜、花椰菜、抱子甘蓝、西兰花
ItemCategory ItemCluster ItemSubCluster SubCluster Items
蔬菜 块根蔬菜 无皮 马铃薯、红薯、山药
蔬菜 根茎蔬菜 WithSkin 洋葱、大蒜、葱
蔬菜 蔬菜 绿叶蔬菜 叶子 莴苣、菠菜、银甜菜
蔬菜 青菜 十字花科
蔬菜 绿色蔬菜 可食用植物茎 芹菜、芦笋

你的做法几乎是正确的。

你不需要在这里搜索全文。

你可以在这里创建一种反向索引,如下所示:

如果我们以potato为例,为potato创建一个映射,存储它的ItemCategory, ItemCluster, ItemSubCluster, SubCluster。

例如-

"potato": {
"ItemCategory": "Vegetable",
"ItemCluster": "Root vegetables",
"ItemSubcluster": "Root",
"Subcluster": "Without Skin"
}

现在,为每种蔬菜存储这种数据将是昂贵的。

您可以通过使用编码方案来优化存储:

例如-

ItemCategory0表示,令ItemCluster1表示,令ItemSubcluster2表示,设Subcluster3

表示和值用类似的编码方案表示:

Vegetable0表示,令Root vegetables1表示,令Root2表示,设Without Skin3

表示现在,映射变成:

"potato": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
}

为了进一步优化这一点,您还可以保持蔬菜的索引。例如,potato可以表示为0

最终索引变成:

"0": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
}

相关内容

  • 没有找到相关文章

最新更新