【发布时间】:2018-02-01 00:29:05
【问题描述】:
我正在将 SOLR 4.10 db 转换为 SOLR 7.1
在 4.10 中,我有一个电话号码字段(这是该字段的架构信息):
<field name="Phone" type="string" indexed="false" stored="true"/>
在SOLR中插入文档时,有些文档Phone的值为空字符串或单个空格。
针对 SOLR 4.10 运行查询时,返回的文档在 Phone 中有一个空白或单个空格,在文档中包含 phone 字段:
...
"FirstName":"Bob, No Phone",
"Phone":"",
"State":"WA"
...
"FirstName":"Sandy, No Phone",
"Phone":""
"State":"CA"
...
"FirstName":"Donald, With Phone",
"Phone":"123-123-1234",
"State":"NY"
...
但是当这些相同的行插入 SOLR 7.1 时,为这些行返回的文档没有电话字段
...
"FirstName":"Bob, No Phone",
"State":"WA"
...
"FirstName":"Sandy, No Phone",
"State":"CA"
...
"FirstName":"Donald, With Phone",
"Phone":"123-123-1234",
"State":"NY"
...
看看唐纳德是如何拥有电话号码的,可能是因为有一个“非空白”电话号码。
这是从 4.10 开始添加的东西吗?
是否有可以重新开启 4.10 行为的架构设置或 SOLRConfig.xml 设置?
更新
我还查看了两个盒子上安装的 Java 版本——SOLR 4.10 盒子有 java 1.8.0_161,SOLR 7.1 盒子有 java 1.8.0_40。我不认为 java 版本差异会导致 - 我相信 SOLR 只需要 1.8。
【问题讨论】:
-
据我所知,这种行为不应该改变;您的架构是明确定义的还是使用无架构模式?
-
明确定义
-
@MatsLindh - 还有其他想法吗?
标签: solr