gpt4 book ai didi

java - Lucene查询语法中AND和+有什么区别

转载 作者:行者123 更新时间:2023-11-30 07:49:25 25 4
gpt4 key购买 nike

所以这个查询

http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7 AND Jr.) AND (+track:"忘记天鹅"+track:"就像天堂一样") AND 轨道:[2 TO 100] AND src:1&limit=100&offset=0

给出 35 个结果,而

http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7 AND Jr.) AND (轨道:"忘记天鹅"AND 轨道:"就像天堂") AND 轨道:[2 TO 100] AND src:1&limit=100&offset=0

给出 2 个结果。

似乎在第一种情况下,它返回轨道字段与“Forget the Swan”或“Just Lie Heaven”匹配的文档,而第二种情况仅在轨道字段与两者匹配时才返回,因此第一个查询的行为就好像有是两个轨道参数之间的隐式或,如下

http://jthinkws.elasticbeanstalk.com/?type=release&query=artist:(Dinosaur~0.7 AND Jr.) AND (+track:"忘记天鹅"OR +track:"就像天堂一样") AND 轨道:[2 TO 100] AND src:1&limit=100&offset=0

但如果是这样的话 + 运算符还有什么意义呢?

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

最佳答案

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

尝试用 %2B 替换加号:

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

关于java - Lucene查询语法中AND和+有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33480484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com