我正在为游戏(流亡之路)构建搜索引擎。在这个游戏中,物品有插座。
具有5个链接套接字和1个孤独第六个套接字的项目示例。
我的目标是允许用户搜索具有特定套接字颜色的项目以及与ElasticSearch的链接。
用户可以像这样描述套接字组合:
“RRRBB”将是一个包含5个链接套接字的项目,3个红色和2个蓝色。 “GGG RB”将连接3个绿色插座,1个红色和1个蓝色连接。
仍在关注?
当我索引一个项目时,我按字母顺序和按组大小(可能不需要组大小)来命令链接的套接字:“RB GGB”将变为“BGG RB”。
在进行搜索之前,我会以相同的方式重新排序用户输入。
因此,搜索精确组合非常简单快捷(?)。我甚至不需要分析数据,是吗?
但我希望这些方案能够发挥作用:
“ggg”会找到“ggg rb” - >只用一个空白分析仪就可以轻松实现这个目标吗?
但我正在努力的是:</ p>
“brr * r b”将匹配“bgrr r b” - &gt;我现在正在做的事情:一旦一个组有一个*,我在每个子组之间添加*,所以我会搜索: b g * r b。 它有效,但我觉得它效率很低,对吧? (如果第一个和最后一个字母是B或R,即使是小的优化,例如删除第一个和最后一个*)。
您是否知道如何将数据(分析器,字符串或术语或......)编入索引以使其成为可能且快速的?
结束。