Java製全文検索エンジンのLuceneをScalaから使ってみます
http://lucene.apache.org/
まずはプロジェクト定義
build.sbt
name := "lucene_sample"version := "1.0"
scalaVersion := "2.10.2"
scalacOptions ++= Seq("-feature")
libraryDependencies ++= Seq(
"org.scalatest" % "scalatest_2.10" % "1.9.1" % "test",
"org.apache.lucene" % "lucene-core" % "4.4.0",
"org.apache.lucene" % "lucene-queryparser" % "4.4.0",
"org.apache.lucene" % "lucene-analyzers-common" % "4.4.0",
"org.apache.lucene" % "lucene-demo" % "4.4.0"
)unmanagedSourceDirectories in Compile <<= Seq(scalaSource in Compile).join
unmanagedSourceDirectories in Test <<= Seq(scalaSource in Test).join
import org.apache.lucene.demo._object Main extends App {
def makeIndices(args: Array[String]): Unit = {
IndexFiles.main(args)
}
def search(): Unit = {
SearchFiles.main(Array[String]())
}
val args1 = Array[String]("-docs", "/usr/local/doc")
makeIndices(args1)
search()
}
最低限動かしてみるならこんな感じ。
/usr/local/src/以下にあるファイルをさらって索引付けして検索する。