solr - SOLR ComplexPhrase Range 查询问题
问题描述
我正在尝试查询字符串中的数字范围。例如,我的查询如下所示:
{!complexphrase inOrder=true}address:"MAIL BOX NUM [10800 TO 10900]"
虽然结果包括预期的所有内容,但它还包括 MAIL BOX NUM 1083、1084 等。
这些不在定义的范围内,但看起来它正在执行“喜欢”搜索,而不是在范围内寻找匹配项。有没有办法解决这个问题?
解决方案
它在范围内进行匹配 - 请记住,这些不是作为数字处理,而是作为文本处理。如果对文本进行排序,则 1083 排序在10800 之后,但在10900 之前:
1080
10800
10801
...
1081
108100
...
1084
...
109000
如果您想做这样的事情,请使用正则表达式过滤器将数字提取到自己的字段(并将字段设置为整数),然后匹配该字段的范围。
推荐阅读
- json - JSON解码不能按预期工作 swift 4
- php - 如何编辑 laravel 护照令牌的 expires_at 字段
- python - 脚本在使用 Flask 和 AWS ELB 返回标头之前超时
- ios - 检查 JSON 密钥是否存在
- sorting - 排序命令奇怪的行为
- nginx - 如何配置 nginx 不显示登录控制台?
- javascript - 如何通过 jquery remove 功能删除单个输入框?
- java - Room 不向表中插入数据
- google-app-engine - 如何将 google 凭据传递给 google pub sub
- java - Spring Boot REST Api JWT AuthorizationFilter 不验证令牌