Solr4.7版本,使用Solr的Suggest功能代码样例:
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.util.NamedList;
public class SolrSuggest {
private HttpSolrServer solr = new HttpSolrServer(
"http://localhost:8080/solr/collection1");
private static final String REQUEST_HANDLER = "/suggest";
private static final String SUGGEST_DICTIONARY = "mySuggester";
private int _count = 0;
private int _status = 0;
private int _QTime = 0;
public int getCount() {
return this._count;
}
public int getStatus() {
return this._status;
}
public int getQTime() {
return this._QTime;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public List<String> getSuggest(String query) {
SolrQuery solrQuery = new SolrQuery();
solrQuery.setRequestHandler(REQUEST_HANDLER);
solrQuery.set("suggest.dictionary", SUGGEST_DICTIONARY);
solrQuery.set("suggest.q", query);
QueryResponse response = null;
try {
response = solr.query(solrQuery);
} catch (SolrServerException e) {
e.printStackTrace();
}
List<String> rtn = new ArrayList<String>();
if (response != null) {
this._status = response.getStatus();
this._QTime = response.getQTime();
NamedList<Object> result = response.getResponse();
Map map = (Map) result.get("suggest");
NamedList nvPairs = (NamedList) map.get(SUGGEST_DICTIONARY);
nvPairs = (NamedList) nvPairs.get(query);
this._count = Integer.parseInt(nvPairs.get("numFound").toString());
List<NamedList> lst = (List<NamedList>) nvPairs.get("suggestions");
for (int i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i).get("term"));
rtn.add(lst.get(i).get("term").toString());
}
}
return rtn;
}
}
分享到:
相关推荐
ik,suggest 已经配置好了,可以在Windows/linux直接启动
本人基于solr的使用,对solr的简单使用操作进行了一下封装,包括了solr的增、删、改、查索引信息的全部操作,在查询的方法,本示例只返回了高亮部分的查询结果信息,如需其他信息请自行修改代码。
通过svn下载的源代码,放在solr的lucene目录下
SpringBoot集成Solr全文检索,示例工程源码,ik分词插件
solr cloud6.x.x 都可以用,solr的拼音分词
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。这里有solr 4.6的源码,提供给solr爱好者学习
solr示例;含代码,jar包,文档,详细配置步骤
附件包含100个以上示例,包括solr.xml、solrconfig.xml等在Jetty、Tomcat等应用服务器下的详细配置。
solr in action配套代码和数据,solr官方没有提供数据,可以用这个数据来辅助学习solr。
solr functionquery函数查询功能强大,但字符串函数比较缺乏,该示例是contain示例,表示值中包含传入的字符串即返回1 否则返回0,可用于solr查询中如果某个字段包含动态传入的值在排名优先。有其他查询排序需求...
Solr in action 源代码。Solr实战源码。Solr实战源码。Solr实战源码。Solr实战源码
针对Minging Solr in Action原版书的所有相关源代码示例及所有有关schema.xml, solrconfig.xml的详细配置示例,可以直接运行,配合教程再运行源代码更有助于深入理解、掌握solr全面知识点。
Java搜索,lucene。 但是有时候lucene比较麻烦使用起来,所以,出现了solr。 solr只需配置一下,再写一些简单的代码,即可很好的实现lucene的功能,方便快捷。
solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...
solr4.7+myeclipse示例包含需要的jar包 httpcore-4.3 httpmime-4.3.1 jtds-1.2.4 jul-to-slf4j-1.6.6 solr-core-4.7.0
JAVA语言,实现SSM+SQL Server 数据库整合,通过spring-data-solr框架实现与solr平台的互通,实现全文搜索功能,亲测,完全了可以用
我们网站搜索如果数据量大的话,我们使用数据库直接查搜索会很慢,而且由于不能自动分词,结果往往不是很理想,现在我提供了一个例子,内含详细操作步骤和简单增删改查 Solr是一个独立的企业级搜索应用服务器,它...
solr
solr简单应用操作的代码部分,要20个字说些什么呢,体验到了出教程很麻烦啊
solr