0
我集成MongoDB的具有彈性的搜索的MongoDB + elasticsearch +階提升
我已經從使用下面的命令終端數據庫「testmongo」索引集「人」:
curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{
"type": "mongodb",
"mongodb": {
"db": "testmongo",
"collection": "person"
},
"index": {
"name": "mongoindex",
"type": "person"
}
}'
,並添加通過蒙戈終端的一些數據到mongodb的:
use testmongo
var p = {firstName: "John", lastName: "Doe"}
db.person.save(p)
使用此命令來搜索數據:
curl -XGET 'http://localhost:9200/mongoindex/_search?q=firstName:John'
直到這裏的一切完美的作品
我的問題是這樣的:
如何,我要創建客戶端節點查詢 我有下面的代碼不起作用:
package code
package snippet
import net.liftweb._
import http._
import common._
import util.Helpers._
import scala.xml._
import org.elasticsearch.node.NodeBuilder._
import org.elasticsearch.index.query.QueryBuilders._
import collection.JavaConversions._
class SearchTerms extends StatefulSnippet with Loggable{
private var term = ""
def dispatch = {
case "render" => render _
}
def render(xhtml: NodeSeq): NodeSeq = {
def doSearchTerm {
val node = nodeBuilder().client(true).node()
val client = node.client()
val query = queryString(term)
val response = client
.prepareSearch("A")
.setTypes("B")
.setQuery(query)
.execute()
.actionGet()
val hits = response.getHits
logger.info("Found %d hits for query '%s'".format(hits.getTotalHits, term))
hits.getHits.foreach(hit =>
logger.info("* %s".format(hit.sourceAsMap()("text")))
)
client.close()
node.close()
}
我必須在A和B中使用什麼值才能在scala lift中使用搜索功能
can som EONE請幫我
非常感謝你的關注