TLGS est un moteur de recherche pour Gemini. Il est légèrement exagéré pour ce qu'il est actuellement et utilise une technologie étrange. Et j'en suis fier. La base de code actuelle est un peu désordonnée - je promets de les nettoyer. Les principales caractéristiques / caractéristiques sont les suivantes:
À l'heure actuelle, l'indexation des sites d'actualités, des RFC, les documentations sont principalement désactivées. Mais être probablement activé une fois que j'ai la moyenne et les ressources pour mettre à l'échelle la configuration.
Pour construire le projet. Vous aurez besoin d'un compilateur capable entièrement C ++ 20. Les compilateurs suivants devraient travailler à partir de la rédaction de ce réadme
Installez toutes les dépendances. Et exécutez les commandes:
mkdir build
cd build
cmake ..
make -jPour créer l'index initale:
./tlgs/tlgs_ctl/tlgs_ctl ../tlgs/config.json populate_schemaseeds.text./tlgs/crawler/tlgs_crawler -s seeds.text -c 4 ../tlgs/config.jsonDésormais, le Crawler commencera à ramper le Geminispace tout en mettant à jour les indices obsolètes (le cas échéant). Pour mettre à jour un index existant. Courir:
./tlgs/crawler/tlgs_crawler -c 2 ../tlgs/config.json
# -c is the maximum concurrent connections the crawler will makeRemarque: le robot de TLGS est distribuable. Vous pouvez exécuter plusieurs instances en parallèle. Mais certaines entrées peuvent abandonner tôt vers la fin ou ramper. Bien que cela n'effecte pas le résultat de la rampe.
openssl req -new -subj " /CN=my.host.name.space " -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -days 36500 -nodes -out cert.pem -keyout key.pem
cd tlgs/server
./tlgs_server ../../../tlgs/server_config.jsonsudo systemctl start tlgs_server
sudo systemctl start tlgs_crawler La section custom_config.tlgs dans search_config.json (installé sur /etc/tlgs/server_config.json ) contient des conflitions pour le serveur TLGS. Outre les options de configuration de Drogon habituelles. Custom_config modifie la propriété de TLGS elle-même. Les options prises en charge actuelles sont:
L'algorithme de classement TLGS utilise pour classer les pages dans le résultat de la recherche. Le classement est ensuite combiné avec le score de match de texte pour produire le rang de recherche final. Les valeurs prises en charge actuelles sont hits et salsa . Se référant à l'algorithme de classement des succès et de la salsa. Il est par défaut à salsa si aucune valeur n'est fournie.
La salsa fonctionne légèrement plus rapidement que les succès pour les grands résultats de recherche. La littérature et l'expérience impérique suggèrent que la salsa offre un meilleur classement. Ainsi, nous sommes passés des tubes à la salsa.
"ranking_algo" : " salsa "