PHPackages                             yggverse/yggo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. yggverse/yggo

AbandonedArchivedProject[HTTP &amp; Networking](/categories/http)

yggverse/yggo
=============

YGGo! Distributed Web Search Engine

1404[4 issues](https://github.com/YGGverse/YGGo/issues)PHP

Since Nov 25Pushed 2y ago3 watchersCompare

[ Source](https://github.com/YGGverse/YGGo)[ Packagist](https://packagist.org/packages/yggverse/yggo)[ RSS](/packages/yggverse-yggo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

*Project archived. Please, visit [Yo!](https://github.com/YGGverse/Yo) - the next generation of YGGo project based on Manticore search.*

### YGGo! - Distributed Web Search Engine

[](#yggo---distributed-web-search-engine)

[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)

Written by inspiration to explore [Yggdrasil](https://github.com/yggdrasil-network) ecosystem. Engine could be useful for crawling regular websites, small business resources, local networks.

The project goal - simple interface, clear architecture and lightweight server requirement.

#### Overview

[](#overview)

[![Home page](https://github.com/YGGverse/YGGo/raw/main/media/main-sm.png?raw=true)](https://github.com/YGGverse/YGGo/blob/main/media/main-sm.png?raw=true)

#### Online instances

[](#online-instances)

- `http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggo/`

#### Database snaps

[](#database-snaps)

- 17-09-2023 `http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggtracker/en/torrent/15`

#### Requirements

[](#requirements)

```
php8^
php-dom
php-xml
php-pdo
php-curl
php-gd
php-mbstring
php-zip
php-mysql
php-memcached
memcached
sphinxsearch

```

#### Installation

[](#installation)

- `git clone https://github.com/YGGverse/YGGo.git`
- `cd YGGo`
- `composer install`

### Setup

[](#setup)

- Server configuration `/example/environment`
- The web root dir is `/src/public`
- Deploy the database using [MySQL Workbench](https://www.mysql.com/products/workbench) project presented in the `/database` folder
- Install [Sphinx Search Server](https://sphinxsearch.com)
- Configuration examples presented at `/config` folder
- Make sure `/src/storage/cache`, `/src/storage/tmp`, `/src/storage/snap` folders are writable
- Set up the `/src/crontab` by following [example](https://github.com/YGGverse/YGGo/blob/main/config/crontab.txt)
- To start crawler, add at least one initial URL using search form or CLI

#### JSON API

[](#json-api)

Build third party applications / index distribution.

Could be enabled or disabled by `API_ENABLED` option

###### Address

[](#address)

```
/api.php

```

##### Search

[](#search)

Returns search results.

Could be enabled or disabled by `API_SEARCH_ENABLED` option

###### Request attributes

[](#request-attributes)

```
GET action=search  - required
GET query={string} - optional, search request, empty if not provided
GET type={string}  - optional, filter mime type of available or empty
GET page={int}     - optional, search results page, 1 if not provided
GET mode=SphinxQL  - optional, enable extended SphinxQL syntax

```

##### Hosts distribution

[](#hosts-distribution)

Returns hosts collected with fields provided in `API_HOSTS_FIELDS` option.

Could be enabled or disabled by `API_HOSTS_ENABLED` option

###### Request attributes

[](#request-attributes-1)

```
GET action=hosts - required

```

##### Application manifest

[](#application-manifest)

Returns node information for other nodes that have same `CRAWL_MANIFEST_API_VERSION` and `DEFAULT_HOST_URL_REGEXP` conditions.

Could be enabled or disabled by `API_MANIFEST_ENABLED` option

###### Request attributes

[](#request-attributes-2)

```
GET action=manifest - required

```

#### Search textual filtering

[](#search-textual-filtering)

##### Default constructions

[](#default-constructions)

```
word prefix:

yg*

operator OR:

hello | world

operator MAYBE:

hello MAYBE world

operator NOT:

hello -world

strict order operator (aka operator "before"):

aaa
