Pesquisa de termos com 3 caracteres (ou menos)

Sugestões para melhorar o site. Indicação de erros e problemas com as páginas. Outros assuntos relacionados com a DVD Mania.
Post Reply
Samwise
DVD Maníaco
DVD Maníaco
Posts: 5488
Joined: February 19th, 2009, 9:07 pm
Contact:

Pesquisa de termos com 3 caracteres (ou menos)

Post by Samwise »

Viva, Rui.

A propósito do Showgirls e do All About Eve, utilizei a pesquisa do fórum para encontrar entradas acerca do segundo filme.

Problema: a pesquisa descarta todos os termos compostos por 3 caracteres ou menos, devolvendo neste caso resultados apenas para o termo "About" (duas mil e tal entradas...). O título português não ajuda, já que é Eva, pelo que a alternativa de pesquisa possível será cruzar o "About" com o nome do realizador, ou da actriz principal, ou ainda "Oscar". Mas cada uma destas opções, e o conjunto das mesmas, podem não devolver todas as entradas.

No passado já me deparei com esta limitação, mas como não há muitas necessidades de pesquisa de termos com poucos caracteres, é possível ir contornando o assunto da forma que descrevi, por associação.

Portanto a pergunta é: não haverá um slider algures nas configurações do fórum que permita ajustar o número mínimo de caracteres permitido num termo utilizado na pesquisa? Ou até um bloco de código onde exista expressamente um "<=3"?... :-))) Baixar de 3 para 2 já faria uma grande diferença...

Não é questão crítica ou urgente, mas dá jeito em algumas ocasiões.
«The most interesting characters are the ones who lie to themselves.» - Paul Schrader, acerca de Travis Bickle.

«One is starved for Technicolor up there.» - Conductor 71 in A Matter of Life and Death

Câmara Subjectiva
Samwise
DVD Maníaco
DVD Maníaco
Posts: 5488
Joined: February 19th, 2009, 9:07 pm
Contact:

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Samwise »

Alternativa: permitir pesquisa da string completa, "all about eve", sem separação por termos.
«The most interesting characters are the ones who lie to themselves.» - Paul Schrader, acerca de Travis Bickle.

«One is starved for Technicolor up there.» - Conductor 71 in A Matter of Life and Death

Câmara Subjectiva
User avatar
Rui Santos
Site Admin
Posts: 5932
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Rui Santos »

Haver haver há... é pouco recomendado pela comunidade.
Já agora a pesquisa tem outra limitação... não pesquisa palavras comuns... para não devolver demasiados registos.

O que faço em situações dessas é pesquisar no google por exemplo assim: "all about eve" site:forum.dvdmania.org ... normalmente devolve bons resultados.
Outra pesquisa que uso muito, é pesquisar apenas no primeiro post, pesquisando assim o nome do realizador ou titulo em Pt... quando as fichas estão mais completas é uma ajuda.

Só para teres ideia (e embora não tenha qq limite de espaço)... a tabela das pesquisas ocupa uns 60% do resto do fórum... se aumentar para 3.... tenho medo que a pesquisa se deteriore mais do que melhore.
Mas vou investigar nos fóruns oficiais deles.
Rui Santos - 50 Anos | 19 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
User avatar
Rui Santos
Site Admin
Posts: 5932
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Rui Santos »

Samwise wrote:
May 7th, 2019, 1:03 pm
Alternativa: permitir pesquisa da string completa, "all about eve", sem separação por termos.
Ai é mesmo limitação do fórum não permitir pesquisas exatas. Isso sei que não há qq opção... o que já sofri com isso.
Rui Santos - 50 Anos | 19 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
Samwise
DVD Maníaco
DVD Maníaco
Posts: 5488
Joined: February 19th, 2009, 9:07 pm
Contact:

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Samwise »

Rui Santos wrote:
May 7th, 2019, 1:06 pm
Só para teres ideia (e embora não tenha qq limite de espaço)... a tabela das pesquisas ocupa uns 60% do resto do fórum... se aumentar para 3.... tenho medo que a pesquisa se deteriore mais do que melhore.
Mas vou investigar nos fóruns oficiais deles.
Isto significa que há uma tabela dedicada, indexada, onde são colocadas todas as palavras com 4 ou mais caracteres, e que apontam, por cada registo, para o post onde se encontam? (algo dentro da ideia que permite a pesquisa binária)

Se é assim, então à partida estou logo de acordo contigo: não vale a pena alterares nada porque a degradação de performance não justifica esse passo. Até porque os casos de pesquisa a que me refiro são mesmo muito raros.
«The most interesting characters are the ones who lie to themselves.» - Paul Schrader, acerca de Travis Bickle.

«One is starved for Technicolor up there.» - Conductor 71 in A Matter of Life and Death

Câmara Subjectiva
User avatar
Rui Santos
Site Admin
Posts: 5932
Joined: June 4th, 2001, 11:42 pm
Location: Portugal - Lisboa / MAC
Contact:

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Rui Santos »

Fui agora ver a base de dados só para tua (e minha) curiosidade, e para rever como está organizada.
phpbb_search_results
phpbb_search_wordlist
phpbb_search_wordmatch

A primeira tem muito poucos registos e deve servir para guardar as ultimas pesquisas (aparecem quando se fazem pesquisas)
A segunda é mais interessante, pois tem um id por palavra, uma palavra e um contador das vezes que a mesma aparece... tem 375000 registos e ocupa 25,5mb
A terceira é a que tem o sumo.... está organizada por id post, id palavra e um campo booleano indicando se é o titulo do post.... em termos de volume... 12 milhões de registos... 744 mb de tamanho.
Penso que por aqui tu consegues perceber que até é uma coisa bem pensada para funcionar rápido....

Só por curiosidade... para, mais, filme, como e muito são as palavras mais repetidas nos posts e que por terem demasiado registos não aparecem nas pesquisas.
E percebes também com esta organização porque não se pode fazer pesquisas por várias palavras numa determinada ordem, mas pode-se pesquisar duas palavras com operador e, ou com o operador ou.

Confesso-te que fiquei a perceber muito melhor a pesquisa depois de olhar para a BD :) obrigada pelo "desafio"
Rui Santos - 50 Anos | 19 Anos DVDMania
DVD/BR | Jogos | Life is Short, Play More | FB Collectors HV-PT
Samwise
DVD Maníaco
DVD Maníaco
Posts: 5488
Joined: February 19th, 2009, 9:07 pm
Contact:

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Samwise »

Interessante, sem dúvida - obrigado por partilhares o resultado da tua investigação. Faz todo o sentido a organização indicada.

Confesso que tinha uma grande curiosidade em saber esta parte:
Rui Santos wrote:
May 8th, 2019, 12:21 am
A terceira é a que tem o sumo.... está organizada por id post, id palavra e um campo booleano indicando se é o titulo do post.... em termos de volume... 12 milhões de registos... 744 mb de tamanho.
É uma tabela com um tamanho bem jeitoso. Ainda assim, com os índices a funcionar, uma pesquisa por determinado termo não deve demorar mais do que alguns milisegundos a encontrar o primeiro registo (os outros registos, existindo, estão logo a seguir e não carecem de operações adicionais para serem encontrados).

Quando estive à volta do desafio do tabuleiro de xadrez e da multiplicação exponencial dos bagos de arroz, fiquei com uma ideia muito clara da eficácia de um indice binário a trabalhar. Para 12 milhões de registos, apenas necessitas de 24 ou 25 iterações até chegares ao registo que pretendes.

Isto também significa que a cada post que alguém escreve, a partir do momento em que é gravado, todas as palavras com 4 ou mais caracteres vão ser gravadas nestas tabelas - e esta operação em si é que eu não faço ideia de quanto "pesa" e "demora" em termos de recursos do sistema.
«The most interesting characters are the ones who lie to themselves.» - Paul Schrader, acerca de Travis Bickle.

«One is starved for Technicolor up there.» - Conductor 71 in A Matter of Life and Death

Câmara Subjectiva
Leinad4Mind
Novato
Posts: 4
Joined: July 1st, 2010, 5:28 pm

Re: Pesquisa de termos com 3 caracteres (ou menos)

Post by Leinad4Mind »

Viva, visto eu ser um entendido no que concerne phpBB, posso referir que é possível corrigir esta limitação, basta alterar o modo de pesquisa para fulltext. Mas já li que é esse o modo que está em vigor, pois a pesquisa via MySQL tem limitação default de 4. O único senão é que irá fazer a base de dados crescer imenso. Para um fórum destas dimensões eu diria na casa dos 500mb. Mas a nível de performance ainda fica melhor do que MySQL. O melhor método é via sphinx mas não é tarefa fácil configurar. Outra forma de reduzir o tamanho de certas tabelas é alterar para innodb. E é possível pesquisar por string completa ;) embora só funcione em modo MySQL. Em fulltext não funciona, mas é possível corrigir... Nem sei por que raio a equipa de desenvolvimento ainda não corrigiu...
Espero que a informação ajude.
Post Reply