なんじゃくにっき

プログラミングの話題中心。

ScalaからLuceneを使ってみる

Java全文検索エンジンLuceneScalaから使ってみます
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/以下にあるファイルをさらって索引付けして検索する。