OK, finalmente entendi como as coisas funcionam com a coisa da esfinge.
- Você não pode INSERT ou UPDATE diretamente na tabela SphinxSE. Em vez disso, você usa INSERT/REPLACE enquanto conectado ao SphinxQL (diretamente ao daemon sphinx).
-
Com 1.10 você pode adicionar vários campos pesquisáveis FullText. Eu adicionei título, tags e conteúdo. E a consulta para dar mais peso ao título, depois as tags e depois o conteúdo fica assim:SELECT SQL_NO_CACHE * FROM sphinx_docs WHERE query = 'a lot of keywords;weights=3,2,1;';
Eu uso oSQL_NO_CACHE
para dizer ao mysql para não armazenar em cache o resultado disso, porque nas próximas chamadas não consigo obter o número de linhas retornadas do sphinx (SHOW STATUS LIKE 'sphinx_total_found'
)
-
É melhor deixar o sphinx fazer toda a classificação, filtragem e usar o mysql apenas para JOIN na tabela da qual você precisa de mais informações.
Além disso, devo dizer que tentei várias vezes adicionar o plugin sphinxse ao mysql sem sucesso (infinitas horas de espera), então mudei para o MariaDB 5.2.4, que inclui o mecanismo de armazenamento SphinxSE.