我使用的是Lucene 4.7.2版本。
我已经索引了一些信息,并创建了一个UI以在该界面上查询。我根据用户输入创建了一个BooleanQuery,
BooleanQuery bq = new BooleanQuery();
NumericRangeQuery<Integer> nrq = NumericRangeQuery.newIntRange("age", 20, 30, true, true);
bq.add(nrq, BooleanClause.Occur.MUST);
Term term = new Term("name", "einstein");
TermQuery termQuery = new TermQuery(term);
bq.add(termQuery, BooleanClause.Occur.MUST);
System.out.println(bq.toString());
+age[20 TO 30] AND name:einstein
正如我在链接问题的注释中解释的那样,只需将该字符串反馈给QueryParser
,就可以返回相同的Query
对象。
import org.apache.lucene.queryparser.classic.QueryParser;
...
String queryString = "+age[20 TO 30] AND name:einstein";
Query query = new QueryParser(Version.LUCENE_4_7, null, <yourAnalyzer>)
.parse(queryString);
问题内容: 您是否知道可以将Map转换为URL友好的查询字符串的任何实用程序类/库? 例: 我有一张地图: 我想得到: 最终输出 问题答案: 我看到的最可靠的组件是Apache Http Compoments(HttpClient 4.0)的URLEncodedUtils类。 该方法是您所需要的。 它不使用map,因此您可以使用重复的参数名称,例如, 并非我建议使用这种类型的参数名称。
我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,
下面的lucene查询返回空字符串请帮忙,提前谢谢
我在用Lucene。Net版本3.0。3. 下面是Lucene查询转换为字符串,带有字段键、值和容差。 我想把字符串值传递给Api,在那里我需要转换回Lucene查询。 我使用字段FirstName和LastName尝试了QueryParser和MultifieldQueryparser,但在传递时没有返回确切的查询。
我想在JPA 2.1中将“命名查询”转换为“SQL查询”,并在运行之前对其进行更改。 例如,我有一个命名查询:从CU所在的客户中选择CU。代码=?1,我希望在PAR之后获得查询并对其进行转换和编辑(例如添加模式名称)并创建此查询:从db1.cc1cust cu中选择*其中cu.cc1cod=?1. 我该怎么做? 问候
问题内容: 我想将以下SQL查询转换为Elasticsearch之一。谁能帮上忙 我尝试了以下方法: 但不确定我是否做对了,因为它无法验证结果。似乎要在聚合内添加查询。 问题答案: 假设您使用Elasticsearch 2.x,则有可能在Elasticsearch中 具有 -semantics。我不知道2.0之前的可能性。 您可以使用新的Pipeline Aggregation Bucket Se