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;
}
}
分享到:
相关推荐
标题中的“solr7.5_ik分词器,suggest配置源文件”指的是在Solr 7.5版本中使用Ik分词器和Suggest组件进行配置和使用的源文件。Ik分词器是针对中文环境优化的,它包括了多种分词策略,如全模式、最细粒度模式等,可以...
这个库提供了一套API,使得与Solr的通信更加简便,可能在本示例中也有使用。 9. **分布式搜索**:Solr 5.5.4版本支持分布式部署,这意味着多个Solr服务器可以协同工作,提高性能和可用性。如果示例涉及到分布式搜索...
Solr4.3源代码的获取通常是为了深入理解其内部工作原理,进行定制开发或优化。在你提供的信息中,我们重点关注的是"lucene"目录,这表明你关注的是Solr中与Lucene搜索引擎库相关的部分。 **Lucene简介** Lucene是...
源代码实例是学习Solr内部工作原理和自定义功能的关键资源,尤其对于开发者而言,深入理解源码有助于提升系统的优化和扩展能力。 在Solr 4.0版本中,`solr.xml`是Solr的核心配置文件,它定义了Solr实例的基本设置,...
通过研究Solr 4.6.0的源代码,开发者可以深入理解其内部工作原理,定制化搜索服务,优化性能,以及解决在部署和使用过程中遇到的问题。这不仅有助于提升对全文检索技术的理解,也有利于开发更加高效和个性化的搜索...
Solr,全称为Apache Solr,是一款开源的企业...通过学习这个压缩包中的内容,你可以深入了解Solr的使用方法,从而在实际项目中构建高效、灵活的全文搜索引擎。记得根据提供的示例代码和文档逐步实践,加深理解和掌握。
Solr Cloud 6.1.0 是 Apache Solr 的一个版本,它是一个开源的企业级搜索平台,被广泛用于构建高效、可扩展的全文检索服务。在这个版本中,它支持拼音分词,使得中文搜索能力得到显著提升。拼音分词是处理中文文本的...
3. **Java客户端代码**:可能是Java API的示例,展示了如何与Solr服务器进行交互,如添加、更新和删除文档,执行查询,或者处理结果。 4. **脚本**:可能包括用于自动化任务的shell脚本或Python脚本,如批量导入...
- 创建Solr的Repository接口,定义查询方法。 - 使用Spring Data Solr提供的`SolrTemplate`或者Repository接口,进行索引的增删改查操作。 - 将业务数据同步到Solr,构建索引,以供搜索使用。 - 在SpringMVC的...
在本项目中,我们主要...同时,`solr-example.zip`包含了一个Solr的示例配置,可以帮助理解Solr的工作原理。通过学习这个项目,开发者可以快速掌握如何在SpringBoot项目中实现全文检索功能,提升应用程序的搜索体验。
solr functionquery函数查询功能强大,但字符串函数比较缺乏,该示例是contain示例,表示值中包含传入的字符串即返回1 否则返回0,可用于solr查询中如果某个字段包含动态传入的值在排名优先。有其他查询排序需求...
Solr in action 源代码。Solr实战源码。Solr实战源码。Solr实战源码。Solr实战源码
数据导入的代码示例可能如下: ```bash bin/post -c simple simple_data.csv ``` 一旦数据导入完成,我们就可以对Solr进行查询了。查询是通过发送HTTP请求到Solr服务器实现的,请求中包含查询参数。例如,如果我们...
针对Minging Solr in Action原版书的所有相关源代码示例及所有有关schema.xml, solrconfig.xml的详细配置示例,可以直接运行,配合教程再运行源代码更有助于深入理解、掌握solr全面知识点。
3. **LICENSE.txt** 和 **NOTICE.txt**:这两个文件分别包含了Solr 4.3的许可协议和版权信息,确保你在使用和修改源代码时遵循正确的法律条款。 4. **BUILD.txt**:提供了构建Solr 4.3的详细指南,包括编译环境设置...
4. **docs** 文件夹:包含了Solr的用户文档,可以帮助开发者和管理员了解Solr的使用方法和API。 5. **example** 文件夹:提供了一个简单的Solr实例,包括了如何设置和运行的基本示例,对于初学者来说非常有用。 6....
本文将围绕“lucene solr框架代码实例(可直接运行)”这一主题,深入探讨Lucene和Solr的核心特性,以及如何通过它们构建实际的搜索应用。 首先,Lucene是Apache软件基金会的一个开源项目,它提供了一个高性能、...
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
- `example`: 示例配置和启动脚本,帮助快速启动和测试Solr实例。 - `lucene`: 内含Lucene库源码,Solr的核心搜索引擎库。 4. **关键类与接口** - `SolrCore`: 代表Solr的单一索引实例,包含了索引、查询和其他...
我们网站搜索如果数据量大的话,我们使用数据库直接查搜索会很慢,而且由于不能自动分词,结果往往不是很理想,现在我提供了一个例子,内含详细操作步骤和简单增删改查 Solr是一个独立的企业级搜索应用服务器,它...