← Arquivo - Freelance e Emprego/Serviços

[Procuro] Programador de "barba rija" com experiência PHP, MySQL, Sphinx Search

Lida 1375 vezes

Offline

Media Portugal 
Membro
Mensagens 47 Gostos 0
Troféus totais: 19
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 10 Posts First Post Karma

Programador com experiência para desenvolvimento do projecto descriminado abaixo.

Tecnologias:      PHP, MySQL, Sphinx Search
Código fonte:      Preferencialmente desenvolvido em inglês


Agradeço orçamento via PM.

Consoante a qualidade apresentada e tempos de entrega, irão existir outros projectos.



Projecto “Pesquisa de Anúncios Favoritos”

Prefácio:
Desenvolvimento de sistema que permita aos utilizadores de um site de anuncios classificados, guardar as pesquisas “favoritas” dos utilizadores e diariamente fazer o envio de um email com os anuncios recomendados consoante as pesquisas “favoritas” sobre os anuncios inseridos do dia.

Requisitos:
- A pesquisa deve ser rápida e deverá baseada no motor de indexação Sphinx Search.
Ao nível de testes de velocidade, a tabela de anuncios terá 1 milhão de registos com um “delta” de
50.000 registos diários e a tabela de utilizadores com 100.000 registos.

- As pesquisas relevantes encontradas, deverão ser guardadas numa tabela(s) adicional(ais), juntamente com ID do utilizador, DATA (dia), estado de envio do email (para processamento à posteriori).

- O email a ser enviado ao utilizador ter em atenção que deverá ser personalizado (p.ex. Nome) em HTML.

NOTA: Não é necessário desenvolver o mecanismo de envio de emails pois o mesmo já existe.


Exemplo de estrutura básica (existe um erro lógico, o mesmo deverá ser encontrado e indicado na candidatura ao projecto):
Código: [Seleccione]

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for jobs
-- ----------------------------
CREATE TABLE `jobs` (
  `id_job` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
  `description` varchar(8000) COLLATE utf8_unicode_ci NOT NULL,
  `last_update` datetime DEFAULT NULL,
  PRIMARY KEY (`id_job`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Table structure for user_searchs
-- ----------------------------
CREATE TABLE `user_searchs` (
  `id_user_search` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) DEFAULT NULL,
  `search` varchar(50) COLLATE utf8_unicode_ci DEFAULT '',
  PRIMARY KEY (`id_user_search`),
  UNIQUE KEY `ix_search` (`search`),
  KEY `ix_id_user` (`id_user`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `jobs` VALUES ('1', 'PHP Developer', 'PHP Developer - Function: Develop a Website', '2010-04-02 00:00:00');
INSERT INTO `jobs` VALUES ('2', 'Marketeer', 'Marketeer - Function: Develop a marketing network', '2010-04-02 00:00:00');
INSERT INTO `jobs` VALUES ('3', 'Webmaster & Security', 'Function: Control the accesses and normal functioning of the website', '2010-04-03 00:00:00');
INSERT INTO `jobs` VALUES ('4', 'Secretary / Receptionist', 'Secretary - Function: Receptionist of the company', '2010-04-03 00:00:00');
INSERT INTO `user_searchs` VALUES ('1', '10101', 'php');
INSERT INTO `user_searchs` VALUES ('2', '10101', 'developer');
INSERT INTO `user_searchs` VALUES ('3', '10101', 'designer');
INSERT INTO `user_searchs` VALUES ('4', '10101', 'mysql');
INSERT INTO `user_searchs` VALUES ('5', '15000', 'secretary');
INSERT INTO `user_searchs` VALUES ('6', '15000', 'receptionist');
INSERT INTO `user_searchs` VALUES ('7', '15010', 'restaurant');
INSERT INTO `user_searchs` VALUES ('8', '15010', 'hotel');
INSERT INTO `user_searchs` VALUES ('9', '15010', 'lisbon hotel');
INSERT INTO `user_searchs` VALUES ('10', '15010', 'spa');


Para o projecto pode ser fornecido um "setup" base do Sphinx Search e/ou formação do mesmo.
Offline

Media Portugal 
Membro
Mensagens 47 Gostos 0
Troféus totais: 19
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 10 Posts First Post Karma

Dado que ninguem me contactou para este projecto, tive que ser eu a fazer :superlol:
Já agora.. e para curiosidade fiz uma implementação do algoritmo Aho-Corasick e simplifiquei mais umas coisitas..

Em relação ao "gotcha", o erro está na linha "UNIQUE KEY `ix_search` (`search`)," em que não permite que vários utilizadores façam a mesma pesquisa, o que é errado.

Seja como for, estou a necessitar de quem queira fazer projectos mais simples ao nível de PHP e MySQL.