首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Lucene.net:如何控制多个项的操作顺序

Lucene.net:如何控制多个项的操作顺序
EN

Stack Overflow用户
提问于 2012-12-12 01:51:00
回答 1查看 358关注 0票数 0

当使用多个术语时,是否可以控制操作的顺序?

例如,

代码语言:javascript
运行
AI代码解释
复制
Lucene.Net.Search.TermQuery tq1 = new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("location", "seattle"));
Lucene.Net.Search.TermQuery tq2 = new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("location", "portland"));
Lucene.Net.Search.TermQuery tq3 = new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("location", "spokane"));
Lucene.Net.Search.TermQuery tq4 = new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("type", "city"));

当我应用搜索时,假设我想应用上面的术语来过滤我的搜索,让我们搜索food...so我的查询格式如下所示

食物与((tq1或tq2或tq3)和tq4)

目前,我已经能够以以下格式构建它

代码语言:javascript
运行
AI代码解释
复制
{+xml:food +(location:seattle location:portland location:spokane +location:city)}

但是,我正在尝试将其格式化为

代码语言:javascript
运行
AI代码解释
复制
{+xml:food +(+(location:seattle location:portland location:spokane) +location:city)}

基本上,我所做的就像这样……

代码语言:javascript
运行
AI代码解释
复制
Lucene.Net.Search.BooleanQuery bq = new Lucene.Net.Search.BooleanQuery();
Lucene.Net.Search.BooleanQuery innerBQ = new Lucene.Net.Search.BooleanQuery();
bq.Add("xml:food", Lucene.Net.Search.BooleanClause.Occur.MUST);
foreach (Lucene.Net.Index.Term term in listOfTerms)
{
    Lucene.Net.Search.TermQuery tq = new Lucene.Net.Search.TermQuery(term));
    innerBQ.Add(tq, Lucene.Net.Search.BooleanClause.Occur.SHOULD);
}
innerBQ.Add("location:city", Lucene.Net.Search.BooleanClause.Occur.MUST);
bq.Add(innerBQ, Lucene.Net.Search.BooleanClause.Occur.MUST);

如有任何建议,欢迎光临。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-12 14:13:12

您需要将location:city子句添加到bq而不是innerBQ

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13831561

复制
相关文章
ggplot2 如何控制多个影射Legend 的顺序
调整每个映射Legend 内部的顺序,如 cut 中 Fair,Good等的顺序,需要设置因子的水平,具体见:R语言学习 - 热图美化 (数值标准化和调整坐标轴顺序)
生信宝典
2021/12/29
1.2K0
ggplot2 如何控制多个影射Legend 的顺序
使用 CountDownLatch 控制多个线程执行顺序
有时候会有这样的需求,多个线程同时工作,然后其中几个可以随意并发执行,但有一个线程需要等其他线程工作结束后,才能开始。举个例子,开启多个线程分块下载一个大文件,每个线程只下载固定的一截,最后由另外一个线程来拼接所有的分段,那么这时候我们可以考虑使用CountDownLatch来控制并发。
全栈程序员站长
2022/07/20
7270
@DependsOn & 控制多个(不同)的@Bean的加载顺序
我们都知道多个Bean加载是按照代码顺序来的。BeanA下载BeanB前面,那么BeanA是会有在BeanB前面示例化的。
收心
2022/11/14
7800
scrapy如何顺序执行多个爬虫
scrapy如何单线程顺序执行多个爬虫,刚开始我天真的以为将多个excute顺序罗列就能依次执行每个爬虫了,代码如下所示: 谁料,在执行完第一个爬虫之后,整个程序就停止运行了。到底是什么原因呢?笔者在 Stack Overflow 上找到了类似的问题( https://stackoverflow.com/questions/24875280/scrapy-cmdline-execute-stops-script )。得知问题的原因在于 方法中的最后一句代码是 ,所以当程序执行完一个execute语
企鹅号小编
2018/01/29
2.2K0
scrapy如何顺序执行多个爬虫
JS如何控制任务的执行顺序
放假在家当咸鱼有一段时间了,也好久没写笔记了,今天逛技术社区的时候遇到了一个有点意思的题目,正好也是我没遇到过的场景,于是记录一下
小鑫
2022/05/11
3.6K0
如何控制线程的执行顺序
控制线程的执行顺序有两种办法,通常来说,最简单的就算用Thread类提供的API,使用join方法即可。其使用方法及原理:深入理解join方法的底层原理 还有一个方法就是使用:ExecutorService 这个类提供的方法,看伪码:
矿泉水
2018/05/11
1.6K4
如何控制线程的执行顺序
如何控制线程的执行顺序
控制线程的执行顺序有两种办法,通常来说,最简单的就算用Thread类提供的API,使用join方法即可。其使用方法及原理:深入理解join方法的底层原理 还有一个方法就是使用:ExecutorService 这个类提供的方法,看伪码: static ExecutorService executorService = Executors.newSingleThreadExecutor(); main(){ executorService .submit(thread1);
用户2141593
2018/05/18
9280
Java中多个异常的捕获顺序(多个catch)
import java.io.IOException;   public class ExceptionTryCatchTest {       public void doSomething() throws IOException{           System.out.println("do somthing");       }       public static void main(String[] args){           ExceptionTryCatchTest etct = new ExceptionTryCatchTest();           try {               etct.doSomething();           } catch (Exception e) {                          } catch (IOException e) {                          }       }      }
用户7886150
2021/04/25
3.9K0
scrapy顺序执行多个爬虫
# -*- coding:utf-8 -*- from scrapy import cmdline from scrapy.cmdline import execute import sys,time,os #会全部执行爬虫程序 os.system('scrapy crawl ccdi') os.system('scrapy crawl ccxi') #----------------------------------------------------- #只会执行第一个 cmdline.exe
周小董
2019/03/25
1K0
WPF 多个 StylusPlugIn 的事件触发顺序
如果在 WPF 使用 StylusPlugIn 同时在同一个界面用多个元素都加上 StylusPlugIn 那么事件触发的顺序将会很乱 我建议是不要让 StylusPlugIn 有重叠,在没有理解 StylusPlugIn 之前请不要写出让 StylusPlugIn 有重叠的代码。因为可能有小伙伴移动了一个元素就让你的代码的行为和之前写的不一样
林德熙
2019/10/23
9020
WPF 多个 StylusPlugIn 的事件触发顺序
WPF 多个 StylusPlugIn 的事件触发顺序
如果在 WPF 使用 StylusPlugIn 同时在同一个界面用多个元素都加上 StylusPlugIn 那么事件触发的顺序将会很乱 我建议是不要让 StylusPlugIn 有重叠,在没有理解 StylusPlugIn 之前请不要写出让 StylusPlugIn 有重叠的代码。因为可能有小伙伴移动了一个元素就让你的代码的行为和之前写的不一样
林德熙
2022/08/04
7880
lucene.net全文检索(二)lucene.net 的封装
明志德道
2023/10/21
2930
k8s中如何控制容器的启动顺序
我们在部署服务的时候,通常会遇到这种场景就是2个服务部署在同一个pod中,但是这2个服务又有先后的依赖关系,那么我们如何在pod中如何来控制容器的启动顺序呢?今天我们来讲一下如何在pod如何控制2个容器的启动顺序,我们在这里在一个pod里面部署springboot和centos的2个容器作为示例,centos的启动需要依赖于springboot的服务启动正常再启动。
聂伟星
2021/01/24
6.3K0
如何控制Ansible Playbook的执行顺序、运行选定的剧本资源
在处理大型或复杂的剧本时,如果只希望运行部分剧本或部分任务。可以将标签应用于可能要跳过或运行的特定资源。
山河已无恙
2023/01/30
2.8K0
apisix 多个插件截断执行顺序
两个插件的优先级 test2 priority = 80, test1 priority = 70, 两个插件各个阶段执行顺序 test2 rewrite test1 rewrite test2 access test1 access test2 body_filter test1 body_filter
空盒子里的巧克力糖
2022/12/02
7120
顺序栈的基本操作
栈是限定仅在表尾进行插入好删除操作的线性表。 1、顺序栈结构 typedef struct { SElemType data[MAXSIZE]; int top; /* 用于栈顶指针 */ }SqStack; 2、构造一个空栈  / 清空栈 Status InitStack(SqStack *S) { /* S.data=(SElemType *)malloc(MAXSIZE*sizeof(SElemType)); */ S->top=-1
亦小河
2022/11/14
3120
顺序表操作
输入格式 第一行输入一个正整数 mm(1 \leq m \leq 1001≤m≤100),代表一共有 mm 个操作。 接下来输入 mm 行,每行首先输入一个整数 tt,分别代表以下操作: t = 1,代表插入操作,输入两个整数 a 和 b(1000≤a,b≤100),表示在 a 的位置上擦入元素 b,如果插入成功输出success,否则输出failed。 t=2,代表删除操作,输入一个整数 a(1000≤a≤100),删除位置 a上的元素,如果删除成功输出success,否则输出failed。 t=3,代表查找操作,输入一个整数 a(1000≤a≤100),查找元素值为 a 的元素,如果查找成功输出success,否则输出failed。 t=4,代表遍历操作,输出当前顺序表的所有元素。 输出格式 对应每个操作,输出结果。对于前三个操作,如果操作成功输出success,否则输出failed;对于第四个操作,从下标为 00 的位置开始输出当前顺序表的所有元素,每两个整数之间一个空格,最后一个整数后面没有空格。
小飞侠xp
2021/04/19
4530
顺序表操作
关于Lucene.net
我这里说的只要是在创建索引和查询索引的时候,分词器类型必须要保持一致!!!否则结果不正确会雷死你。
Isaac Zhang
2019/09/10
4040
关于Spring的两三事:如何控制Bean的加载顺序
  作为一名面向Spring开发的开发人员,在日常的工作、学习或者面试中或多或少都会遇到这样一个问题:如何控制Bean的加载顺序?
闲宇非鱼
2022/11/08
2.3K0
关于Spring的两三事:如何控制Bean的加载顺序
Lucene.net 的性能探究--Lucene.net 的并发处理能力到底有多强?
这篇博客并不是证明Lucene.net的性能有多强悍,实际上Lucene.net的并发能力并不让人很满意,这得看你怎么用它。
ShenduCC
2019/04/18
1.4K0

相似问题

操作列表中项的顺序

10

Lucene.Net搜索文档中包含多个字段的多个项

11

用.then控制异步还原操作的操作顺序

23

控制控制器操作调用顺序

21

如何控制柔性盒项的增长/收缩顺序?

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档