Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Opa, eu estava fazendo um site e queria fazer um sistema de busca melhorzinho, parecido com o google atuaumente uso esse:
WHERE conteudo LIKE '%".$palavra."%'
se o valor que eu quero for 'brasil' ele e achado tambem com: b,r,a,s,i,l,br,bra,sil,si.... varias partes da palavra mas eu queria que tambem fosse encontrado com: brail, brtil.
Alquem ajuda aae ^^
Como faço esse fulltext ?
Crio a tabela com a coluna que vou buscar seja fulltext http://prntscr.com/849ius. Para buscar uso isso ?
SELECT*FROM videos WHERE MATCH (title) AGAINST ('brasi')
Acho que não e oq eu busco....
queria que isso:
select * from articles WHERE MATCH(title,body) AGAINST ('datbase');
já buscasse o valor 'database'
porem so pega com isso:
select * from articles WHERE MATCH(title,body) AGAINST ('database');
Patrick, em primeiro lugar, NUNCA e repito NUNCA envie mensagem pedindo ajuda, nós moderadores/usuários somos VOLUNTÁRIOS, caso você deseje uma resposta mais rápida, o correto é contratar alguém, que sendo remunerado poderá ficar 100% do tempo a sua disposição.
Isto posto vamos ao problema, conforme citei na mensagem inicial "mais próxima disto que você vai encontrar o fulltext", eu não disse que seria o que você queria, disse que seria o mais próximo, o que você quer é uma "inteligência artificial" que identifique palavras próximas entre si, você teria que começar tudo com um dicionário para ligar a palavra original as suas variantes e um algoritmo para aplicar este dicionário à sua aplicação. É bem provável que isto já exista, mas eu desconheço para o contexto da web, contudo o google é aberto a todos que queiram pesquisar esta questão, inclusive você mesmo.
O Algorítimo que conheço é o levenshtein, porem é como mencionado acima, tem que ter um dicionário na base!
Vlw... Vou procurar sobre ^^
Quem faz esse trabalho de forma bem eficiente é o Solr. Pode ser uma boa alternativa
Também tem o Elastic Search. Ambos são baseados no Lucene
O mais próxima disto que você vai encontrar o fulltext, provavelmente exista implementações disponíveis por ai que façam isto, mas você terá que criar os mecanismos que digam que "brasil" é próximo a "brail", já que é algo que em um primeiro momento não faz sentido.