gpt4 book ai didi

java - DSE Solr : CopyField behavior

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:09 24 4
gpt4 key购买 nike

我在 Solr schema.xml 中定义了整数字段,如下所示。 <field indexed="true" multiValued="false" name="build_status" stored="true" type="TrieIntField"/>并复制 Field 定义如下, boolean 类型。

<field name="build_status_b" stored="false" indexed="true" type="boolean" multiValued="false"/>
<copyField dest="build_status_b" source="build_status"/>

我设置了 build_status 值,它是具有以下值的整数。0、1、45、67由于我的 copyField - build_status_b 类型为 boolean 值,因此我预计会看到错误或它将保留 0 和 1 并忽略 45 和 67,因为这些数字不会进入 boolean 契约(Contract)。但是,有趣的是,我可以搜索 build_status_b:(0 1 45 67) 的所有值。copyFields 到底是如何工作的?如果它索引任何源字段保存的内容,那么为字段 build_status_b 声明类型的意义何在?

最佳答案

如果您查看 Solr wiki 上的以下文档链接,您将看到 bool 字段类型将解释这些值以形成 boolean 值:

https://cwiki.apache.org/confluence/display/solr/Field+Types+Included+with+Solr

Contains either true or false. Values of "1", "t", or "T" in the first character are interpreted as true. Any other values in the first character are interpreted as false.

这里是 copyFields 的 Solr 文档供引用:

https://cwiki.apache.org/confluence/display/solr/Copying+Fields

因此,对于您的上述值,它们将代表指定的 boolean 值:

0  - false
1 - true
45 - false
67 - false

关于java - DSE Solr : CopyField behavior,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41817316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com