Então, não há absolutamente nenhuma maneira de saber no índice de busca se o post é o primeiro post?
E quanto a esse tipo de ajuste:
Quando vários posts em um tópico correspondem a um termo de busca, E UM DOS POSTS É O PRIMEIRO POST dar a esse post específico, o que é o primeiro post, um grande impulso na classificação de busca.
Assim, você evita um comportamento sem sentido de “ordenar por número de post”, ao mesmo tempo em que dá prioridade adequada ao primeiro post?
Atualmente não, mas não seria difícil adicionar, já que é semelhante a uma otimização que fiz no ano passado para permitir que filtrássemos o PostSearchIndex por MP ou não MP.
Minha posição aqui é que o benefício teórico de um ranking preciso de duplicatas por tópico tem muitos mais pontos negativos.
As pessoas podem estar usando a busca como um marcador e ficar confusas quando uma busca que sempre as levava ao post #77 agora as leva ao #892.
Para agravar a situação, não temos nenhum mecanismo para “ir para a primeira mensagem não lida em um tópico”, então priorizar posts mais recentes traz uma grande desvantagem: há maior probabilidade de criar lacunas na leitura (por exemplo, você lê 1, 2, 3, mas não lê de 4 a 88… e agora pula para o 89).
Prefiro muito priorizar incondicionalmente o primeiro resultado em um tópico; é mais simples de explicar e muito mais estável.
Usamos a classificação do primeiro resultado ou a classificação da melhor postagem no tópico? Costumávamos fazer o último, o que parece incorreto, pois estávamos usando a classificação de uma postagem que não aparecerá no resultado da pesquisa para ser classificada contra postagens de outros tópicos.
Obrigado por reabrir o tópico. Acho que ainda há um problema relacionado a isso. Em https://community.wanikani.com, há um tópico intitulado “General Anime Thread”. Se eu pesquisar por “general anime”, esse tópico aparece como o primeiro resultado, mas leva ao post 511. O que é particularmente estranho é que esse post nem mesmo contém as palavras “general” ou “anime”. Então, de alguma forma, isso parece até pior do que o problema originalmente relatado. Pelo que pude verificar, https://community.wanikani.com deveria estar em uma versão posterior à fusão dessa correção.
Para dar um segundo exemplo, se eu pesquisar por “japanese book club”, obtenho o post 925 desse tópico, mesmo que o termo de pesquisa esteja no título do tópico.
Tentei reproduzir o problema no meta, mas não consegui. Pode ser apenas os termos específicos que tentei pesquisar.
@sam Eu sei do que se trata. Temos uma otimização de desempenho de busca em sites grandes, onde buscamos apenas em um índice parcial. Como a primeira postagem é muito antiga, ela fica de fora do índice parcial, e é por isso que não estamos vinculando a ela. Preciso pensar em uma solução para isso, pois as ideias que tenho atualmente ou trocam desempenho por precisão ou precisão por desempenho.
Seria razoável (em termos de compensação de desempenho) se o primeiro post de cada tópico fosse incluído no índice? Ou talvez apenas o primeiro post de cada tópico se houver um post dentro do intervalo de tempo otimizado? Assumindo que esse último seja mesmo viável do ponto de vista de banco de dados.
Isso é tecnicamente viável, mas é um problema enorme.
Tenho medo de que o trade-off de gastar, digamos, 1 semana com uma cuidadosa reordenação de índices possa não valer a pena ao corrigir isso.
Também consigo pensar em muitas situações atípicas que complicam isso (como um fórum com montanhas de tópicos curtos).
Vamos aguardar um pouco com isso e ver com que frequência isso aparece.
Uma mudança provisória que provavelmente podemos permitir no seu fórum é dobrar o tamanho do seu índice recente; isso é configurável (@tgxworld, talvez você possa fazer isso).
Isso já foi feito? Ao pesquisar o tópico mencionado anteriormente, agora vai para a postagem 523 em vez de 511, o que parece indicar que cada vez mais postagens estão ficando fora do alcance do índice.
Acabei de alterar (SiteSetting.search_recent_posts_size) para 250k; você tem apenas 163k tópicos. Levará alguns dias para que a alteração entre em vigor, pois é necessário que um agendamento seja executado.
Acredito que as alterações já tenham entrado em vigor. Eu havia alterado para 1 milhão anteriormente, mas esqueci de publicar uma atualização aqui.
@sam, temos planos de resolver esse problema em algum momento? Incluir todas as primeiras postagens no índice parcial não parece uma má troca. Sei, por discussões anteriores, que @codinghorror acredita que a pesquisa deve priorizar fortemente os tópicos antes de permitir que as postagens dentro de um tópico apareçam.