对于搜索引擎(比如Google和百度)来讲,很多情况下只需要用户在输入框内输入所需查询的内容,然后再单击“搜索”就可以了,其余的事情全部交给搜索引擎去处理,最后搜索引擎会把检索到的结果显示出来。那么搜索引擎是怎样处理用户输入得符号串的呢?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
在Lucene中,这项工作就交给了QueryParser类来完成,它的作用就是把各种用户输入的符号串转为一个内部的Query或者一个Query组。虽然Lucene提供的API允许使用者创建各种各样的Query(查询语句),但它同时也允许通过QueryParser(查询分析器)生成各种各样的Query子对象。这使得Lucene的查询功能更加灵活和强大。
QueryParser的简单用法
对于QueryParser
QueryParser
(Stringf, Analyzera)
Query parse(Stringquery)
Parses a query string, returning a Query.
eg:
QueryParser parser = new QueryParser("name", analyzer);
Query query1 = parser.parse("中国建设银行");
而对于MultiFieldQueryParser
staticQuery parse(String[]queries, String[]fields,
Analyzeranalyzer)
Parses a query which searches on the fields specified. staticQuery parse(String[]queries, String[]fields,
BooleanClause.Occur[]flags, Analyzeranalyzer)
Parses a query, searching on the fields specified.
staticQuery parse(Stringquery, String[]fields,
BooleanClause.Occur[]flags, Analyzeranalyzer)
Parses a query, searching on the fields specified.
eg:
// 构造布尔查询(可根据你的要求随意组合)
BooleanClause.Occur[] flags = new BooleanClause.Occur[] {
BooleanClause.Occur.MUST, BooleanClause.Occur.MUST};
Query query = MultiFieldQueryParser.parse("北京 奥运会", new String[] {
"name", "title"}, flags, new StandardAnalyzer());
注意:
在使用QueryParser对用户的输入进行扫描时,还需要给它一个分析器。不过,当对用户输入的关键字进行分析时的分析器应当与建立索引时的分析器一样,这样才能保证分析成功。
分享到:
相关推荐
查看和编辑长URL搜索查询字符串相对容易。 您是否曾经在尝试读取查询参数值的过程中一直滚动URL栏? 您是否曾经尝试编辑这些参数只是为了放松自己的位置? 不再。 该扩展是开源的...
queryparser
lucene-queryparser-4.9.0.jar
详细介绍Lucene queryParser.jj文件的内部实现
赠送jar包:lucene-queryparser-6.6.0.jar; 赠送原API文档:lucene-queryparser-6.6.0-javadoc.jar; 赠送源代码:lucene-queryparser-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-6.6.0.pom;...
赠送jar包:lucene-queryparser-7.3.1.jar; 赠送原API文档:lucene-queryparser-7.3.1-javadoc.jar; 赠送源代码:lucene-queryparser-7.3.1-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-7.3.1.pom;...
queryparser:PostgreSQL,MySQL和ADQL查询的解析,处理和翻译
资源来自pypi官网。 资源全名:queryparser-python2-0.3.tar.gz
24 Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser(1)
资源分类:Python库 所属语言:Python 资源全名:queryparser-python2-0.2.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
java运行依赖jar包
java运行依赖jar包
赠送jar包:lucene-queryparser-7.7.0.jar; 赠送原API文档:lucene-queryparser-7.7.0-javadoc.jar; 赠送源代码:lucene-queryparser-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-7.7.0.pom;...
赠送jar包:lucene-queryparser-7.2.1.jar; 赠送原API文档:lucene-queryparser-7.2.1-javadoc.jar; 赠送源代码:lucene-queryparser-7.2.1-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-7.2.1.pom;...
赠送jar包:lucene-queryparser-7.3.1.jar; 赠送原API文档:lucene-queryparser-7.3.1-javadoc.jar; 赠送源代码:lucene-queryparser-7.3.1-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-7.3.1.pom;...
赠送jar包:lucene-queryparser-6.6.0.jar; 赠送原API文档:lucene-queryparser-6.6.0-javadoc.jar; 赠送源代码:lucene-queryparser-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-6.6.0.pom;...
赠送jar包:lucene-queryparser-7.7.0.jar; 赠送原API文档:lucene-queryparser-7.7.0-javadoc.jar; 赠送源代码:lucene-queryparser-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-7.7.0.pom;...
赠送jar包:lucene-queryparser-7.2.1.jar; 赠送原API文档:lucene-queryparser-7.2.1-javadoc.jar; 赠送源代码:lucene-queryparser-7.2.1-sources.jar; 赠送Maven依赖信息文件:lucene-queryparser-7.2.1.pom;...
lucene-queryparser-4.4.0.jar Lucene核心架包之一
lucene-queryparser-8.8.2.jar