violet
1.0.0
__ ___ ___
/ | / | |__ |
/ | __/ |___ |___ |
Простая поисковая система в go.
go get -u github.com/cosmtrek/violet
# dont forget add `violet` environment variable
# vi ~/.bash_profile
export violet='$GOPATH/src/github.com/cosmtrek/violet'
Есть два режима для фиолетового: один для парней, которые любят терминалы, как я, другой работает как http-сервер.
violet -path=INDEX_PATH -index=INDEX_NAME -fields=INDEX_FIELDS -data=DATA_FILE -query=true -server=false
Затем вы можете искать все, что вы вводите.
# start server
violet
После запуска сервера откройте другой терминал, чтобы отправить запрос на создание индекса.
# first create a json file post.json
{
"index": "INDEX_NAME",
"index_path": "INDEX_PATH",
"fields": "INDEX_FIELDS",
"datafile": "DATA_FILE"
}
# then create index
curl -XPOST -d @./data/tweets.json "http://localhost:6060/index"
# try to query
curl "http://localhost:6000/INDEX_NAME/search?query=TERM"
Чтобы поиск был эффективным, необходимо что-то запросить с условиями. В настоящее время поддерживаются только следующие формы:
word
по одному словуword1 word2
поиск по нескольким словамword1 -word2
найти слово1 и исключить слово2field1:word1 field2:word2
поиск слова1 в поле1 и слова2 в поле2word field>10
искомое слово и поле (целое число) больше 10 Поиск по твитам
Он ищет мои твиты, хранящиеся в ./data/tweets
.