如何从内斯卡拉使用的Solr /播放? 具体如何添加/更新文件?
Answer 1:
更新:看看我的新答案参考https://stackoverflow.com/a/17315047/604511
下面是代码,我写它使用Play的JSON库和调度HTTP客户端。 它不是完美的,但它应该帮助您开始。
package controllers
import play.api._
import play.api.mvc._
import play.api.libs.json.Json
import play.api.libs.json.Json.toJson
import dispatch._
object Application extends Controller {
def index = Action {
val addDocument = Json.toJson(
Map(
"add" ->
Seq(
//a document
Map(
"id" -> toJson("123"),
"subject" -> toJson("you have been served")
)
)
))
val toSend = Json.stringify( addDocument)
val params = Map( "commit" -> "true", "wt" -> "json")
val headers = Map( "Content-type" -> "application/json")
val solr = host( "127.0.0.1", 8983)
val req = solr / "solr" / "update" / "json" <<?
params <:< headers << toSend
val response = Http(req)()
Ok( toSend + response.getResponseBody)
//Redirect(routes.Application.tasks)
}
def tasks = TODO
def newTask = TODO
def deleteTask(id: Long) = TODO
}
Answer 2:
你可能会考虑使用SolrJ的Java库,它采用了二进制协议与Solr的服务器,该服务器的性能比使用XML的方式更好地沟通。
将文档添加到索引中做到了这一点:
http://wiki.apache.org/solr/Solrj#Adding_Data_to_Solr
希望帮助
保罗
Answer 3:
不直接相关的更新文件,但在斯卡拉一个很好的查询的DSL的Solr由四方建立在他们的工程博客文章中描述: http://engineering.foursquare.com/2011/08/29/slashem-a-rogue-like型安全-斯卡拉-DSL换查询-的Solr /
Answer 4:
你可以玩框架在斯卡拉按照本文中的步骤整合Apache Solr实现, 还有一个例子 。
文章来源: Using Solr from Scala/ Play