альтернативная поисковая система
Создан в ответ на апатию вокруг использования гипертекстового поиска и обнаружения. В Лью Интернет — это не то, что доступно для поиска, а собственный район. Иными словами, Lieu — это поисковая система по соседству, способ использования личных сетей для увеличения случайных связей.
Полный синтаксис поиска (включая способы использования site:
и -site:
:) см. в документации по синтаксису поиска и API. Дополнительные советы читайте в приложении.
$ lieu help
Lieu: neighbourhood search engine
Commands
- precrawl (scrapes config's general.url for a list of links: <li> elements containing an anchor <a> tag)
- crawl (start crawler, crawls all urls in config's crawler.webring file)
- ingest (ingest crawled data, generates database)
- search (interactive cli for searching the database)
- host (hosts search engine over http)
Example:
lieu precrawl > data/webring.txt
lieu crawl > data/crawled.txt
lieu ingest
lieu host
Команды сканирования и предварительного сканирования Lieu выводятся на стандартный вывод для облегчения проверки данных. Обычно вы хотите перенаправить их вывод в файлы, из которых читает Lieu, как определено в файле конфигурации. Ниже приведен типичный рабочий процесс.
config.crawler.webring
url
конфигурации на эту страницу.precrawl
: lieu precrawl > data/webring.txt
lieu crawl > data/crawled.txt
lieu ingest
lieu host
После приема данных с помощью lieu ingest
вы также можете использовать Lieu для поиска в корпусе данных в терминале с помощью lieu search
.
Настройте значения theme
конфигурации, указанные ниже.
Конфигурационный файл написан на TOML.
[ general ]
name = " Merveilles Webring "
# used by the precrawl command and linked to in /about route
url = " https://webring.xxiivv.com "
# used by the precrawl command to populate the Crawler.Webring file;
# takes simple html selectors. might be a bit wonky :)
webringSelector = " li > a[href]:first-of-type "
port = 10001
[ theme ]
# colors specified in hex (or valid css names) which determine the theme of the lieu instance
# NOTE: If (and only if) all three values are set lieu uses those to generate the file html/assets/theme.css at startup.
# You can also write directly to that file istead of adding this section to your configuration file
foreground = " #ffffff "
background = " #000000 "
links = " #ffffff "
[ data ]
# the source file should contain the crawl command's output
source = " data/crawled.txt "
# location & name of the sqlite database
database = " data/searchengine.db "
# contains words and phrases disqualifying scraped paragraphs from being presented in search results
heuristics = " data/heuristics.txt "
# aka stopwords, in the search engine biz: https://en.wikipedia.org/wiki/Stop_word
wordlist = " data/wordlist.txt "
[ crawler ]
# manually curated list of domains, or the output of the precrawl command
webring = " data/webring.txt "
# domains that are banned from being crawled but might originally be part of the webring
bannedDomains = " data/banned-domains.txt "
# file suffixes that are banned from being crawled
bannedSuffixes = " data/banned-suffixes.txt "
# phrases and words which won't be scraped (e.g. if a contained in a link)
boringWords = " data/boring-words.txt "
# domains that won't be output as outgoing links
boringDomains = " data/boring-domains.txt "
# queries to search for finding preview text
previewQueryList = " data/preview-query-list.txt "
Для вашего собственного использования необходимо настроить следующие поля конфигурации:
name
url
port
source
webring
bannedDomains
Следующие файлы, определенные в конфигурации, могут оставаться без изменений, если у вас нет особых требований:
database
heuristics
wordlist
bannedSuffixes
previewQueryList
Полное описание файлов и их различных задач см. в описании файлов.
Создайте двоичный файл:
# this project has an experimental fulltext-search feature, so we need to include sqlite's fts engine (fts5)
go build --tags fts5
# or using go run
go run --tags fts5 .
Создайте двоичные файлы нового выпуска:
./release.sh
Исходный код AGPL-3.0-or-later
. Inter доступен по лицензии SIL OPEN FONT LICENSE Version 1.1
. Noto Serif лицензируется как Apache License, Version 2.0
.