【问题标题】:Matching Users Based On Info They Have Submitted根据用户提交的信息匹配用户
【发布时间】:2014-10-25 04:49:27
【问题描述】:

现在我知道这是一个非常广泛的问题,这就是为什么我期待一个广泛的答案。我只是希望被引导到正确的方向。 简而言之,我打算创建一个网站,用户可以在其中包含特定数据在他们的个人资料中,并与输入相应数据的其他用户进行匹配,以创建“匹配”。 类似于基于最佳“化学”匹配用户的约会网站。然而,这甚至比这更简单。我确实有 NetBeans 的编码经验,并且不断扩展我的网站开发知识。

例如:

101, 102 and 103 = MATCH  
User A - Data [User lists they have 101]
User B - Data [User lists they have 102 and 103]

用户 A 或 B 使用“查找完成您的集合的用户”,并在表格或列中列出完成此集合的用户。

所以,如果有人至少能指出我正确的方向,那将不胜感激!我在 Webs.com 上创建了几个网站,但我不相信他们的工具可以满足这种需求。我打算使用 Java(可能使用 NetBeans)对这个匹配系统进行编程并在网站中实现。谢谢大家!!!

【问题讨论】:

  • 你要使用数据库吗?
  • 我认为那将是最好的路线。我从来没有从头开始建立一个网站,我将研究这个目标一段时间。我只需要一个良好的基础来让我继续前进。
  • 你熟悉JDBC吗?你会写 SQL 查询吗?
  • 我对谷歌很熟悉哈哈。我喜欢研究和了解这些东西,因为我要去上计算机 IT 的学校,所以如果你推荐我更熟悉这些,我会的。
  • 我学习了一个学期的 Java 编程,所以我知道如何创建简单的应用程序并有很好的基础知识。但我从来没有在网上或两个用户之间实现过数据。只有一个用户回答问题、选项等。我真的会从几乎不了解此目标的深层技术工作的情况下开始。

标签: java netbeans match criteria


【解决方案1】:

您可能希望使用数据库来存储您的用户以及可以完成匹配的所有可能的属性集。这是使用 PostgreSQL 创建此类数据库的一种方法:

create table person (
  id int primary key,
  first_name text not null,
  attributes text[]
);

create table match (
  id int primary key,
  attributes text[] 
);

insert into person values (1, 'Bob', array['A']);
insert into person values (2, 'Alice', array['B','D']);
insert into person values (3, 'Carol', array['B','C']);
insert into person values (4, 'Ted', array['D']);
insert into match values (1, array['A','B','D']);

我使用数组而不是连接表来减少冗长。例如,您可以通过运行以下查询来查找为 Alice 完成第 1 组的所有人员:

select
  id,
  first_name
from  
  (select
    p2.id as id,
    p2.first_name as first_name,
    array(      
      select unnest(p1.attributes) union select unnest(p2.attributes)
    ) as match_potential
  from
    person p1
    inner join person p2 on (p1.id = 2 and p2.id <> 2)) as p
where
  p.match_potential @> (select attributes from match where id = 1);

Bob 和 Alice 现在是一对。

您最终需要做一些更复杂的事情,但这样的事情应该让您开始在您的网站上,并允许您构建您的第一个原型,您可以使用它来测试您的概念。

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多