首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >和和+在Lucene查询语法中的区别是什么?

和和+在Lucene查询语法中的区别是什么?
EN

Stack Overflow用户
提问于 2015-11-02 14:56:07
回答 1查看 484关注 0票数 2

所以这个查询

http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7和(+磁道:“忘记天鹅”+曲目:“就像天堂”)和曲目:2到100和src:1&limit=100&offset=0

给出了35个结果,而

http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7和(曲目:“忘记天鹅”和曲目:“就像天堂”)和曲目:2比100和src:1&limit=100&offset=0

给出了2个结果。

在第一种情况下,它返回的文档中,田径场匹配“忘记天鹅”或“只是躺在天堂”,而第二种只在田径场匹配两者时才返回,因此第一个查询的作用就好像这两个轨道参数之间存在隐式or一样,如下所示

http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7和(+磁道:“忘记天鹅”或+曲目:“就像天堂”)和曲目:2到100和src:1&limit=100&offset=0

但是,如果是这样,那么+运算符的意义是什么?

更新:我现在想知道这个问题是否与查询是在互联网上进行有关,以及“+”是否被错误地编码了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-02 16:38:45

您是对的,关于需要转义URL中的"+“。就Lucene语法而言,查询解析器将x AND y解释为+x +y,因此它们在定义上是相同的。

尝试用%2B替换plusses:

[http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7%20AND%20Jr.)%20AND%20(%2Btrack:%22Forget%20The%20Swan%22%20%2Btrack:%22Just%20Like%20Heaven%22%20)%20AND%20tracks:[2%20TO%20100]%20AND%20src:1&limit=100&offset=0](http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7%20AND%20Jr.%29%20AND%20(%2Btrack:%22Forget%20The%20Swan%22%20%2Btrack:%22Just%20Like%20Heaven%22%20%29%20AND%20tracks:[2%20TO%20100]%20AND%20src:1&limit=100&offset=0)

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

https://stackoverflow.com/questions/33480484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档