gpt4 book ai didi

mysql - 我如何为大量关键字表制作摘要标签,例如a-z 不够,需要 ab - ac 等?

转载 作者:行者123 更新时间:2023-11-30 23:39:38 27 4
gpt4 key购买 nike

我有一个庞大的关键字表,一个关键字出现在一个外键中,例如

key=2 word=download
key=3 word=download
key=4 word=game

目前我有另一个字段称为字母索引所以对于上面的例子我有 d,d,g

然后我在每个页面上将所有关键字和具有特定字母索引的所有关键字分组。

例如页面 a,应该是 audio(10) 到 aztec(23)

这就是找到的十个音频记录。等等

26 页不够。一个到一个z

我需要一种方法来创建一个新的索引字段,其中包含 3 个字母。例如000 到 ccc 等

只是在寻找一些想法?

最佳答案

假设您希望您的组不小于某个合理的 N。我们将构建大于 N 的最小组。我们还假设每个组至少以相同的字母开头。稍后,如果需要,我们可以联合太小的小组。

这是一个简化的伪代码:

result = {} # a mapping: prefix -> size of group by that prefix
source = iterator(sorted(keyword_list))
while source.hasNext():
# try to determine size of a group that start with prefix
prefix = source.next() # (see note)
size = 1
while size < N and prefix.length > 0:
while source.hasNext() and prefix.length > 0:
# count keywords that start with current prefix
keyword = source.next()
if keyword.startsWith(prefix):
size += 1
else:
# shorten prefix; all previous matches match the shorter prefix, too
prefix = removeLastLetterFrom(prefix) # 'aba' -> 'ab'
source.stepBack() # we want the unmatched keyword on next iteration
result[prefix] = size

注意:我们假设我们第一次遇到的关键字足够长作为前缀。这可能并不总是正确的;如果您有非常短的关键字,如“a”或“que”,则需要跳过太短的关键字,增加 size。这将添加一些极端情况。

希望这对您有所帮助。

关于mysql - 我如何为大量关键字表制作摘要标签,例如a-z 不够,需要 ab - ac 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553266/

27 4 0