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'
Violet には 2 つのモードがあり、1 つは私のようなターミナルを愛する人向けで、もう 1 つは http サーバーとして実行されます。
violet -path=INDEX_PATH -index=INDEX_NAME -fields=INDEX_FIELDS -data=DATA_FILE -query=true -server=false
そうすれば、入力したものをすべて検索できます。
# start server
violet
サーバーが起動したら、別の端末を開いてインデックスを作成するための POST リクエストを実行します。
# 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
word1を検索し、word2を除外しますfield1:word1 field2:word2
field1 で word1 を検索し、field2 で word2 を検索しますword field>10
検索単語とフィールド (整数) が 10 より大きいツイート検索
./data/tweets
に保存されている私のツイートを検索します。