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
word1을 검색하고 word2를 제외합니다.field1:word1 field2:word2
field1의 word1 및 field2의 word2 검색word field>10
검색 단어이고 필드(정수)가 10보다 큽니다. 트윗 검색
./data/tweets
에 저장된 내 트윗을 검색합니다.