Project archived. Please, visit Yo! - the next generation of YGGo project based on Manticore search.
Written by inspiration to explore Yggdrasil 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.
https://github.com/YGGverse/YGGo/tree/main/media
http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggo/
http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggtracker/en/torrent/15
php8^
php-dom
php-xml
php-pdo
php-curl
php-gd
php-mbstring
php-zip
php-mysql
php-memcached
memcached
sphinxsearch
git clone https://github.com/YGGverse/YGGo.git
cd YGGo
composer install
/example/environment
/src/public
/database
folder/config
folder/src/storage/cache
, /src/storage/tmp
, /src/storage/snap
folders are writable/src/crontab
by following exampleBuild third party applications / index distribution.
Could be enabled or disabled by API_ENABLED
option
/api.php
Returns search results.
Could be enabled or disabled by API_SEARCH_ENABLED
option
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
Returns hosts collected with fields provided in API_HOSTS_FIELDS
option.
Could be enabled or disabled by API_HOSTS_ENABLED
option
GET action=hosts - required
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
GET action=manifest - required
word prefix:
yg*
operator OR:
hello | world
operator MAYBE:
hello MAYBE world
operator NOT:
hello -world
strict order operator (aka operator "before"):
aaa << bbb << ccc
exact form modifier:
raining =cats and =dogs
field-start and field-end modifier:
^hello world$
keyword IDF boost modifier:
boosted^1.234 boostedfieldend$^1.234
https://sphinxsearch.com/docs/current.html#extended-syntax
Could be enabled with following attributes
GET m=SphinxQL
*CLI interface still under construction, use it for your own risk!
Please make a new branch of main|sqliteway tree for each patch in your fork before create PR
git checkout main
git checkout -b my-pr-branch-name
See also: SQLite tree
Feel free to share your ideas and bug reports!