java在Lucene查询语法中与+有什么区别
所以这个问题
和(+track:“忘记天鹅”+track:“就像天堂一样”)和tracks:[2到100]和src:1&;上限=100&;偏移量=0
给出35个结果,而
和(曲目:“忘记天鹅”和曲目:“就像天堂一样”)和曲目:[2到100]和src:1&;上限=100&;偏移量=0
给出2个结果
在第一种情况下,它似乎会返回田径场匹配“忘记天鹅”或“只是天堂”的文档,而第二种情况仅在田径场匹配两者时返回,因此第一个查询的作用就像两个田径参数之间存在一个隐式or,如下所示
和(+track:“忘记天鹅”或+track:“就像天堂一样”)和tracks:[2到100]和src:1&;上限=100&;偏移量=0
但如果是这样,+运算符的意义是什么
更新: 我现在想知道这个问题是否与通过互联网进行查询以及“+”是否被错误编码有关
# 1 楼答案
你说得对,需要在URL中转义“+”。就Lucene语法而言,
x AND y
被查询解析器解释为+x +y
,因此它们在定义上是相同的试着用
%2B
替换加号: