java怎么调用solr查询接口

Python07

java怎么调用solr查询接口,第1张

solr官方网站 http://lucene.apache.org/solr/

下面是一个例子:

import org.apache.solr.client.solrj.SolrServer

import org.apache.solr.client.solrj.SolrServerException

import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer

import org.apache.solr.client.solrj.response.QueryResponse

import org.apache.solr.common.SolrDocument

import org.apache.solr.common.params.ModifiableSolrParams

import java.net.MalformedURLException

public class Main {

public static void main(String[] args) throws MalformedURLException, SolrServerException {

SolrServer server = new CommonsHttpSolrServer("http://localhost:8080/solr")

ModifiableSolrParams params = new ModifiableSolrParams()

// 查询关键词

params.set("q", "2010")

// 分页,,start=0就是从0开始,,rows=5当前返回5条记录,,,第二页就是变化start这个值为5就可以了。

params.set("start", 0)

params.set("rows", 5)

// 排序,,如果按照id 排序,,那么将score desc 改成 id desc(or asc)

params.set("sort", "score desc")

// 返回信息 * 为全部 这里是全部加上score,如果不加下面就不能使用score

params.set("fl", "*,score")

QueryResponse response = server.query(params)

// 搜索得到的结果数

System.out.println("Find:"+ response.getResults().getNumFound()+"\n\n")

// 输出结果

for(SolrDocument doc:response.getResults())

{

System.out.println("id: " + doc.getFieldValue("id").toString())

System.out.println("title: " + doc.getFieldValue("title").toString()+"\n")

}

}

}

这2个不是一类的东西啊。主要看你的需求。

redis是非关系型,在内存中以Key-Value形式存储的数据库。特点是速度非常非常快。

solr是一个搜索引擎。一般用来作为网站内的搜索功能。