iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >利用Lucene如何实现布尔搜索功能
  • 684
分享到

利用Lucene如何实现布尔搜索功能

lucene布尔搜索 2023-05-31 16:05:05 684人浏览 八月长安
摘要

本篇文章给大家分享的是有关利用Lucene如何实现布尔搜索功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。什么是luceneLucene是apache软件基金会jakarta

本篇文章给大家分享的是有关利用Lucene如何实现布尔搜索功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

什么是lucene

Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。

    Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者Google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。

 在布尔查询的对象中,包含一个子句的集合,各个子句间都是如“与”、“或”这样的布尔逻辑。Lucene中所遇到的各种复杂查询,最终都可以表示成布尔型的查询。下面代码就是实现了一个简单的布尔查询。

package LuceneSearch; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.TerMQuery;  public class BooleanQueryTest {  static final String INDEX_STORE_PATH = "E:\\编程局\\Java编程处\\Index\\";  public static void main(String[] args) {  // TODO Auto-generated method stub  try{   IndexWriter writer = new IndexWriter(INDEX_STORE_PATH,new StandardAnalyzer(),true);   writer.setUseCompoundFile(false);   //创建8个文档   Document doc1 = new Document();   Document doc2 = new Document();   Document doc3 = new Document();   Document doc4 = new Document();   Document doc5 = new Document();   Document doc6 = new Document();   Document doc7 = new Document();   Document doc8 = new Document();   Field f1 = new Field("bookname","钢铁是怎样炼成的",Field.Store.YES,Field.Index.TOKENIZED);   Field f2 = new Field("bookname","英雄儿女",Field.Store.YES,Field.Index.TOKENIZED);   Field f3 = new Field("bookname","浮生六记",Field.Store.YES,Field.Index.TOKENIZED);   Field f4 = new Field("bookname","太平广记",Field.Store.YES,Field.Index.TOKENIZED);   Field f5 = new Field("bookname","文化苦旅",Field.Store.YES,Field.Index.TOKENIZED);   Field f6 = new Field("bookname","白夜行",Field.Store.YES,Field.Index.TOKENIZED);   Field f7 = new Field("bookname","白毛女",Field.Store.YES,Field.Index.TOKENIZED);   Field f8 = new Field("bookname","子不语",Field.Store.YES,Field.Index.TOKENIZED);   doc1.add(f1);   doc2.add(f2);   doc3.add(f3);   doc4.add(f4);   doc5.add(f5);   doc6.add(f6);   doc7.add(f7);   doc8.add(f8);   writer.aDDDocument(doc1);   writer.addDocument(doc2);   writer.addDocument(doc3);   writer.addDocument(doc4);   writer.addDocument(doc5);   writer.addDocument(doc6);   writer.addDocument(doc7);   writer.addDocument(doc8);   writer.close();   System.out.println("创建索引成功");   IndexSearcher searcher = new IndexSearcher(INDEX_STORE_PATH);   //创建两个词条对象   Term t1 = new Term("bookname","生");   Term t2 = new Term("bookname","记");   TermQuery q1 = new TermQuery(t1);   TermQuery q2 = new TermQuery(t2);   BooleanQuery query = new BooleanQuery();   query.add(q1,BooleanClause.Occur.MUST);   query.add(q2,BooleanClause.Occur.MUST);   Hits hits = searcher.search(query);   for(int i = 0;i<hits.length();i++){   System.out.println(hits.doc(i));   }   System.out.println("搜索成功");  }catch(Exception e){   System.out.println(e.getStackTrace());  }  } } 

--结束END--

本文标题: 利用Lucene如何实现布尔搜索功能

本文链接: https://www.lsjlt.com/news/227002.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Lucene如何实现布尔搜索功能
    本篇文章给大家分享的是有关利用Lucene如何实现布尔搜索功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。什么是luceneLucene是apache软件基金会jakarta...
    99+
    2023-05-31
    lucene 布尔搜索
  • Redis如何实现分布式搜索功能
    Redis是一款高性能的NoSQL数据库,其提供了丰富的功能和数据结构,包括字符串、哈希表、列表、集合和有序集合等。除此之外,Redis还提供了一些高级功能,例如发布订阅、Lua脚本和事务等。其中,Redis的分布式搜索功能非常实用,可以帮...
    99+
    2023-11-08
    实现方式 搜索功能 Redis分布式
  • javaweb搜索功能如何实现
    要实现JavaWeb的搜索功能,可以按照以下步骤进行:1. 建立数据库:创建一个适合存储搜索内容的数据库表。例如,可以创建一个包含标...
    99+
    2023-09-21
    javaweb
  • web用php如何实现搜索功能
    本篇内容介绍了“web用php如何实现搜索功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建搜索表单在网站主页面上添加一个搜索表单,通常...
    99+
    2023-07-05
  • 如何使用 PHP 实现搜索功能
    通过以下步骤实现 php 搜索功能:建立数据库连接定义搜索查询(使用 like 运算符)执行查询并获取结果显示搜索结果(按用户输入的搜索词筛选) 如何使用 PHP 实现搜索功能 搜索功...
    99+
    2024-05-02
    搜索 php mysql
  • vs中如何实现搜索功能
    在VS中实现搜索功能可以通过以下步骤进行:1. 添加搜索框:在界面中添加一个文本框作为搜索框,供用户输入搜索关键字。2. 添加搜索按...
    99+
    2023-08-23
    vs
  • vue如何实现搜索小功能
    这篇文章主要介绍vue如何实现搜索小功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下<!DOCTYPE html><html> <head>&nb...
    99+
    2023-06-21
  • Numpy布尔索引如何实现
    本篇内容介绍了“Numpy布尔索引如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!布尔数据:只有两种值,即真(True)或假(Fals...
    99+
    2023-07-05
  • css如何实现带搜索图标的搜索框功能
    这篇文章给大家分享的是有关css如何实现带搜索图标的搜索框功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言给大家分享一下前端用处很多的带小图标的搜索框的制作方法。效果展示基本思路搜索图像用绝对定位放到搜索框...
    99+
    2023-06-08
  • PHP如何实现模糊搜索功能
    在PHP中实现模糊搜索功能是一项常见的需求,特别是在开发网站或应用程序中涉及到搜索功能时。模糊搜索可以帮助用户更快速准确地找到他们需要的信息。下面将介绍如何在PHP中实现模糊搜索功能,...
    99+
    2024-03-06
    php 实现 模糊搜索 sql语句
  • jquery如何实现静态搜索功能
    这篇文章主要为大家展示了“jquery如何实现静态搜索功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery如何实现静态搜索功能”这篇文章吧。效果图:代...
    99+
    2024-04-02
  • Vue如何实现简单搜索功能
    这篇文章主要讲解了“Vue如何实现简单搜索功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue如何实现简单搜索功能”吧!1、概述在vue项目中,搜索功能是我们经常需要使用的一个场景,最常...
    99+
    2023-07-05
  • 在Couchbase中如何利用全文搜索功能
    在Couchbase中利用全文搜索功能,可以使用Couchbase的全文搜索服务,即Couchbase FTS(Full Text ...
    99+
    2024-04-09
    Couchbase
  • java怎么实现搜索框搜索功能
    要实现搜索框搜索功能,可以按照以下步骤进行:1. 在前端页面上创建一个搜索框,如一个文本框和一个按钮。2. 在后端创建一个处理搜索请...
    99+
    2023-09-26
    java
  • Ajax如何实现智能提示搜索功能
    这篇文章主要介绍Ajax如何实现智能提示搜索功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、效果图:二、实现过程:  思路: 三、部分代码:html: <div&n...
    99+
    2023-06-08
  • php如何实现关键字搜索功能
    这篇文章主要介绍“php如何实现关键字搜索功能”,在日常操作中,相信很多人在php如何实现关键字搜索功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何实现关键字搜索功能”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-26
  • 如何使用solr实现商品的搜索功能
    小编给大家分享一下如何使用solr实现商品的搜索功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么要用solr服务,为什么要用luncence?问题提出:当...
    99+
    2023-05-30
    solr
  • vue实现搜索小功能
    本文实例为大家分享了vue实现搜索小功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> ...
    99+
    2024-04-02
  • 利用bootstrap怎么实现一个下拉框搜索功能
    本篇文章为大家展示了利用bootstrap怎么实现一个下拉框搜索功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、第一个下拉框代码<div class="btn-gro...
    99+
    2023-05-31
    bootstrap strap
  • jQuery如何实现键盘回车搜索功能
    这篇文章主要为大家展示了“jQuery如何实现键盘回车搜索功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现键盘回车搜索功能”这篇文章吧。前...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作