Moteur de recherche auto-hébergé que vous pouvez utiliser pour votre blog statique ou sur tout autre site Web pour lequel vous souhaitez des fonctionnalités de recherche.
Mon instance en direct est sur http://search.cweiske.de/ et indexe mon site Web, mon blog et toutes les URL liées.
foo bar recherche foo AND barfoo OR bartitle:foo recherche foo uniquement dans le titre de la pagebefore:2016-08-30 - Date de modification avant ce jourafter:2016-08-30 - Modifié après ce jourdate::2016-08-30 - Match exact du jour de la modificationfoo bar site:example.org/dir/site Get Paramètre: /?q=foo&site=example.org/dirgearman-job-server , pas gearman-server )gearadmin (ensemble gearman-tools )Installer et exécuter Elasticsearch et Gearman
Installer php-gearman et gearman-tools
Obtenez une copie locale du code:
$ git clone https://git.cweiske.de/phinde.git phinde
Installez les dépendances via le compositeur:
$ Composer Install --No-Dev
Pointez la racine du document de votre serveur Web vers le répertoire www de Phinde
Copiez data/config.php.dist sur data/config.php et ajustez-les. Assurez-vous que vous ajoutez votre domaine à la liste blanche de la rampe.
Créez une base de données MySQL et importez le schéma à partir data/schema.sql
Run bin/setup.php qui met en place le schéma Elasticsearch
Mettez votre page d'accueil dans la file d'attente:
$ ./bin/process.php http://example.org/
Commencez au moins un travailleur pour traiter la file d'attente Crawl + Index:
$ ./bin/phinde-worker.php
Vérifiez la page d'état de Phinde dans votre navigateur. Le nombre de tâches ouvertes doit être> 0, le nombre de travailleurs également.
Lorsque votre site a changé, le moteur de recherche doit rafraîchir et réindexer les pages.
Dites simplement à Phinde que quelque chose a changé en fonctionnant:
$ ./bin/process.php http://example.org/foo.htm
Phinde prend en charge les pages HTML et les flux d'atomes, donc si votre blog a un flux, il suffit de laisser Phinde Reindex celui-là. Il trouvera automatiquement toutes les pages liées.
Ajouter un formulaire de recherche simple à votre site Web est facile. Il a besoin de deux choses:
<form> Tag avec une action qui pointe vers l'instance Phindeq .Exemple:
<form méthode = "get" action = "http://phinde.example.org"> <input type = "text" name = "q" placeholder = "search text" /> <Button Type = "Soumider"> Recherche </fontificat> </ form>
Lorsque vous utilisez SystemD, vous pouvez le laisser exécuter plusieurs instances de travailleur lorsque le système se fait en marche:
Copier les fichiers data/systemd/phinde*.service dans /etc/systemd/system/
Ajustez les noms des utilisateurs et des groupes et les répertoires de travail
Activer trois processus de travailleurs:
$ Systemctl Daemon-Reload $ systemctl activer phinde @ 1 $ systemctl activer phinde @ 2 $ systemctl activer phinde @ 3 $ systemctl activer phinde $ systemctl start phinde
Maintenant, trois travailleurs courent. Le redémarrage du service phinde redémarre également les travailleurs.
Exécutez bin/renew-subscriptions.php une fois par jour avec Cron. Il renouvellera les abonnements WebSub.
Supprimer les données d'index d'un domaine:
$ curl -iv -xdelete -h 'contenu-type: application / json' -d '{"query": {"term": {"domain": "example.org"}}}' http://127.0.0.1:9200/phinde/_query
C'est delete-by-Query 2.0, voir https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/delete-by-query-usage.html
Phinde prend en charge WebSub pour vous abonner aux modifications d'un site Web. Lorsque Phinde est informé par le centre du site Web sur les modifications, il rampera immédiatement et indexera les pages modifiées.
Abonnez-vous au flux d'un site Web:
$ php bin / abonnement.php http://example.org/feed.atom
Phinde déterminera le Hub du site Web et y enverra une demande d'enregistrement.
La page d'état affichera le nombre de fonctions et le nombre d'abonnements ouverts.
Le désabonnement se produit également sur la ligne de commande:
$ php bin / dissubscribe.php http://example.org/feed.atom
Le code source de Phinde est disponible sur http://git.cweiske.de/phinde.git ou le miroir sur github.
Phinde est autorisé sous l'AGPL V3 ou version ultérieure.
Phinde a été écrit par Christian Weiske.