对标题表示歉意,我仍在努力找出如何解释这一点。
我有一个 codeigniter Web 应用程序,它具有不错的搜索功能,可以很好地对结果进行制表。我们将其称为爱彼迎克隆版,多个用户在其中创建房源。用户可以创建单个列表,也可以创建多个列表。
在某个区域中搜索时,会显示每个符合条件的结果。如果用户在搜索结果中有十个列表,则显示所有十个列表。如果用户有多个符合要求的结果,我想将其限制为单个结果。
目前,数据库通过搜索词进行查询,并返回到每个结果行的 foreach 循环。我正在尝试找出限制单个用户的多个结果的最佳方法,以便一个用户在同一位置拥有 20 个列表时不会阻塞结果。
我的目标不是阻止搜索用户找到结果,我只是想控制单个用户的多个列表的显示方式,以免搜索结果中的 10 或 100 条结果变得困惑同一位置的同一用户。我不会在搜索结果中单独显示,而是显示包含该用户信息的一般结果,该结果将链接到包含该用户可用的所有列表的页面。
有什么想法吗?
必要时我可以发布一些代码,但我会先尝试从概念上解决它。
谢谢!
最佳答案
确实应该有一些其他类型的指标来确定相关性,并根据相关性返回/显示结果,无论是谁发布的。如果我知道仅仅因为来自同一用户而隐藏了好的结果,我会很生气。
以棒球卡为例。如果我搜索“Joe Jackson”,我宁愿从 1 个用户处获得 Joe Jackson 的 20 个结果,而不是来自 5 个不同用户的 Joe Jackson 的 2 个结果、Sam Jackson 的 1 个结果和 Bob Jackson 的 7 个结果。
总而言之,有一些混合结果的示例:
Mixing different categories results, ordered by score in MySQL
Order hybrid mixed mysql search result in one query?
关于javascript - php/mysql 搜索结果 - 当类型 >1 时过滤结果,同时保留其他类型不 >1 的结果 - codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20411617/