SOLR ComplexPhrase范围查询问题

时间:2019-06-12 22:06:57

标签: solr lucene

我正在尝试查询字符串中的数字范围。例如,我的查询如下:

{!complexphrase inOrder=true}address:"MAIL BOX NUM [10800 TO 10900]"

虽然结果包括预期的所有内容,但其中还包括MAIL BOX NUM 1083、1084等。

这些不在定义的范围内,但是看起来它正在执行“类似”搜索,而不是在范围内寻找匹配项。有什么办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

它正在匹配范围内-请记住,这些不是作为数字而是作为文本处理。如果您对文本进行排序,则1083将对之后 10800进行排序,但对之前 10900进行排序:

1080
10800
10801
...
1081
108100
...
1084
...
109000

如果您要执行此类操作,请使用正则表达式过滤器将数字提取到其自己的字段中(并将该字段设置为整数),然后与该字段匹配该范围。