gpt4 book ai didi

java - JAVA搜索引擎的数据结构?

转载 作者:行者123 更新时间:2023-11-29 04:03:56 27 4
gpt4 key购买 nike

我是 MCS 二年级学生。我正在用 Java 做一个项目,其中我有不同的图像。为了存储 IMAGE-1 的描述,我有一个名为 IMAGE-1 的 ArrayList,类似地为 IMAGE-2 ArrayList IMAGE-2 n 等等......

现在我需要开发一个搜索引擎,我需要在其中找到描述与在搜索引擎中输入的单词相匹配的所有图像............

FOR EX 如果我输入“computer”,那么我应该能够找到描述中包含“computer”的所有图像。

所以我的问题是...

How should i do this efficiently?
How should i maintain all those ArrayList since i can have 100 of such...? or should i use another data structure instead of ArrayList?

最佳答案

一个简单的实现是标记描述并使用Map<String, Collection<Item>>存储 token 的所有项目。

建筑:

for(String token: tokenize(description)) map.get(token).add(item)

(需要一个集合,因为一个token可以找到多个条目。代码中缺少集合的初始化。但思路应该很清楚。)

使用:

List<Item> result = map.get("Computer")

在这种情况下,通用的 HashMap 实现并不是最有效的。当您开始遇到内存问题时,您可以查看更有效的树实现(如 radix trees - implementation )。

下一步可能是使用一些(内存中的)数据库。这些可以是关系型 (HSQL) 或非关系型 (Berkeley DB)。

关于java - JAVA搜索引擎的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1558993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com