相关疑难解决方法(0)

在solr查询中使用OR和NOT

我正在处理类似于以下的solr查询:

((myField:superneat AND myOtherField:somethingElse) OR NOT myField:superneat)
Run Code Online (Sandbox Code Playgroud)

运行此时,不会返回任何结果.使用OR NOT任一侧的标准会返回我期望的结果 - 它们只是不能很好地协同工作.在myField匹配superneat的情况下,我还打算确保将myOtherField设置为somethingElse,但如果myField不是superneat,则将其包含在结果中.

有人能解释为什么solr没有返回这种查询的结果吗?是否应该以某种方式重构查询 - 或者是否有不同的方法可以使用solr来实现所需的结果?

lucene search solr

81
推荐指数
6
解决办法
11万
查看次数

在Solr中搜索日期范围或null/no字段

我想在Solr中的文本字段上执行搜索.我想返回范围内或没有值的所有匹配.这两个搜索词是独立的:

myfield:[start TO finish]
-myfield:[* TO *]
Run Code Online (Sandbox Code Playgroud)

第一个返回范围内的所有匹配项.第二个返回所有没有"myfield"字段值的匹配项. 问题是将这两者结合起来.

这不返回任何匹配项:

myfield:[start TO finish] OR -myfield:[* TO *]
Run Code Online (Sandbox Code Playgroud)

这将返回开始和结束之间的匹配,但不返回空条目:

myfield:[start TO finish] OR (-myfield:[* TO *])
Run Code Online (Sandbox Code Playgroud)

solr

32
推荐指数
2
解决办法
2万
查看次数

标签 统计

solr ×2

lucene ×1

search ×1