首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从关键字串创建关键字列表的php算法

从关键字串创建关键字列表的php算法
EN

Stack Overflow用户
提问于 2013-11-26 09:51:44
回答 1查看 463关注 0票数 2

我有一串关键字要搜索的格式: A,B+C,D+E,B+F,E+G+H,.

每个字母代表一个关键字,+代表我希望所有关键字出现的时间。

关键字没有保证的顺序。

稍后,我将搜索包含这些关键字的名称。

因此,按照我的示例,我将对包含以下内容的名称感兴趣:

A或(B及C)或(D及E)或(B及F)或(E及G及H)等

问题是,我只能查询包含单个关键字的名称(它是API而不是我的数据库),因此我需要列出要检索名称的关键字列表,然后检查每个名称是否包含所有相关的关键字。

我需要一个算法来解析字符串并创建关键字列表,以最小化对DB的查询。

例如,在我的示例中,我将获得以下名称:

一个

检查它们是否也包含C或F

检查它们是否也包含D或(G和H)

因此,该算法应该创建A,B,E的关键字列表以进行查询,并在每个关键字中添加显示在名称中的关键字。

我在php中工作,所以我更喜欢php中的答案,但是伪代码也可以。我希望这是清楚的..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 10:12:47

代码语言:javascript
运行
复制
Make empty array B.
Pass over the given array A, for each word X:
    If not apperars in B, add X to B as index, and set him value to 1/(No. of parts in this conjunction).
    Else, add 1/(No. of parts in this conjunction) to exist value.
Sort B by values, biggest first.
Make your queries from start to end.

逻辑是按词在所有连词中的重要性来衡量的。

一个单独的词是相当重要的,但一个四次出现与另一个词是更重要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20213558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档