A search engine for IRC logs based on Lucene
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Abhinav Sarkar 75004747b3 Some more scalafication 10 years ago
src/main/scala/net/abhinavsarkar/ircsearch Some more scalafication 10 years ago
.gitignore Initial commit, created a basic server based on netty 10 years ago
.travis.yml Added travis yml file 10 years ago
README.md Added README 10 years ago
irc-search.conf Moved out configuration to external file 10 years ago
pom.xml Some more scalafication 10 years ago

README.md

A search engine for IRC logs. Based on Lucene and Netty. Runs as an HTTP server, exposing REST endpoints for indexing and searching.

Build and Run

First install Apache Maven. Then execute this command to run the server at port 9090:

mvn package && java -cp target/dependency/*:target/* net.abhinavsarkar.ircsearch.Server 9090

Index chat lines

$ cat ireq | json_pp
{
   "botName" : "some",
   "chatLines" : [
      {
         "timestamp" : 12312312312,
         "user" : "abhinav",
         "message" : "hi"
      },
      {
         "timestamp" : 12312312312,
         "user" : "abhinav",
         "message" : "hi"
      }
   ],
   "channel" : "as",
   "server" : "ima"
}

$ curl -X POST -d @ireq localhost:9090/index
$ cat sreq | json_pp
{
   "botName" : "some",
   "page" : 0,
   "query" : "hi user:abhinav",
   "channel" : "as",
   "server" : "ima",
   "pageSize" : 10
}

$ curl -X POST -d @sreq localhost:9090/search -s | json_pp
{
   "page" : 0,
   "query" : "hi user:abhinav",
   "channel" : "as",
   "pageSize" : 10,
   "botName" : "some",
   "chatLines" : [
      {
         "timestamp" : 12312312312,
         "user" : "abhinav",
         "message" : "hi"
      },
      {
         "timestamp" : 12312312312,
         "user" : "abhinav",
         "message" : "hi"
      }
   ],
   "server" : "ima",
   "totalResults" : 24
}