protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String url = "http://localhost:9080/solr";
request.setCharacterEncoding("UTF-8");
String sword = request.getParameter("searchWord");
List<TestPojo> list = new ArrayList<TestPojo>();
SolrServer server = new HttpSolrServer(url);
SolrQuery query = new SolrQuery("username:"+sword);
query.setHighlight(true);
query.setParam("hl.fl", "username");
query.setHighlightSimplePre("<font color=\"red\">");
query.setHighlightSimplePost("</font>");
try {
QueryResponse qResponse = server.query(query);
SolrDocumentList docs = qResponse.getResults();
System.out.println("文档个数:" + docs.getNumFound());
System.out.println("查询时间:" + qResponse.getQTime());
for (SolrDocument doc : docs){
String id = doc.getFieldValue("id").toString();
TestPojo pj = new TestPojo();
pj.setId(id);
pj.setContext(qResponse.getHighlighting().get(id).get("username").toString());
// System.out.println("id: " + doc.getFieldValue("id"));
// System.out.println("username: " + doc.getFieldValue("username"));
// System.out.println();
list.add(pj);
}
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("pojoList", list);
request.getRequestDispatcher("result.jsp").forward(request, response);
}
分享到:
相关推荐
Solr是一个基于Apache Lucene库的开源搜索平台,它提供了搜索引擎的核心功能,比如全文搜索、命中高亮显示、动态集群、数据库集成和丰富的查询语言等。Solr非常流行,常被用于构建企业级搜索引擎和大数据查询解决...
4.0版本可能使用了Lucene的较新版本,学习源码可以帮助理解Lucene如何支持Solr的全文搜索、高亮显示、拼写检查等功能。 3. **配置文件解析**:Solr使用XML配置文件来定义其行为,如solrconfig.xml和schema.xml。...
3.6.5 Solr高亮使用 **四、SolrJ的用法** SolrJ是Solr的Java客户端库,用于与Solr服务器通信。 4.1 搜索接口的调用实例 4.2 Solrj的使用说明 4.2.1 Adding Data to Solr 4.2.2 Directly adding POJOs to Solr 4.2.3...
4.1 创建索引:通过Solr Admin界面或API创建索引,例如为一个博客网站创建文章索引。 4.2 搜索接口:使用HTTP GET请求发送查询,接收JSON或XML格式的搜索结果。 4.3 高级查询:使用函数查询、评分、过滤器、聚合等...
- **扩展性**: Solr支持高度可配置的索引结构和查询语言,这使得它可以轻松地适应各种应用场景的需求。 - **性能**: Solr通过优化的数据存储和检索机制,提供了高性能的全文检索服务。 - **社区支持**: 作为Apache...
##### 4.1 常用查询参数 - **q**:查询字符串,是所有查询的基础。 - **fl**:指定返回哪些字段内容,可通过逗号或空格分隔多个字段。 - **start**:定义返回的第一条记录在全部结果中的位置(从 0 开始),通常用于...
- **3.6.5 Solr高亮使用**:指导如何在搜索结果中突出显示关键词。 #### 四、SolrJ的用法 **4.1 搜索接口的调用实例** - 展示如何使用SolrJ进行搜索请求,并处理返回的结果。 **4.2 Solrj的使用说明** - **...
查询操作可以使用SolrJ提供的API进行,既可以进行简单查询,也可以进行高亮显示查询等复杂操作。 总之,掌握Solr服务的搭建、配置和使用,可以帮助Java后台开发人员构建高性能、可扩展的搜索引擎系统,实现快速准确...
Solr支持丰富的查询语言,包括全文查询、范围查询、模糊查询等,使得用户能够精确地找到所需的信息。 - **1.2.4 核心** 每个Solr实例都可以包含多个独立的核心,每个核心都有自己的配置文件和索引库。这种方式极大...
- **3.6.5 Solr高亮使用**:在搜索结果中突出显示匹配关键词的部分,增强用户体验。 #### 四、SolrJ的用法 **4.1 搜索接口的调用实例** 示例代码展示了如何使用SolrJ发送搜索请求并获取结果。 **4.2 Solrj的...
4.1 查询接口 使用 Solr 的 RESTful API 发送 GET 请求,例如 `http://localhost:8983/solr/core_name/select?q=keyword`,获取搜索结果。 4.2 查询参数 可以通过添加参数调整查询行为,如 `qf` 指定搜索字段,`...
- **3.6.5 Solr高亮使用**:如何在搜索结果中高亮显示关键词。 #### 四、SolrJ的用法 ##### 4.1 搜索接口的调用实例 - **4.2 Solrj的使用说明**:通过示例代码展示如何使用Solrj。 - **4.2.1 AddingData to Solr**...
- Solr 中如何进行索引和查询操作。 --- #### 六、其他工具和技术 **6.1 Luke** - Luke 是一个用于查看和编辑 Lucene 索引的工具。 - 可以帮助诊断索引问题。 **6.2 Tika** - Apache Tika 是一个内容分析工具...
**4.1 高亮显示** Lucene支持查询结果的关键词高亮,提升用户体验。 **4.2 排序和过滤** 通过Sort和Filter类,可以对搜索结果进行排序和过滤,如按相关性、日期等条件。 **4.3 多字段搜索** 可以构造复杂的Query,...
在2.9.0版本中,Lucene已经相当成熟,支持多线程索引、高效的倒排索引、多种查询语法、高亮显示搜索结果等功能。此版本还引入了对UTF-8字符集的支持,增强了对国际化文档的处理能力。 二、全文检索基础 2.1 倒排...
- 利用Solr、Elasticsearch等分布式搜索引擎。 - 分布式架构可以有效提高系统的扩展性和可用性。 **6.6 本章小结** - 本章详细介绍了如何使用Lucene创建和管理索引库,包括索引库的设计、创建...