gpt4 book ai didi

Solr 嵌套文档未正确设置

转载 作者:行者123 更新时间:2023-12-03 17:12:37 25 4
gpt4 key购买 nike

我正在尝试使用子文档创建 solr 文档。我正在使用 solr 8.2.0
为了遵守 https://lucene.apache.org/solr/guide/8_0/indexing-nested-documents.html#indexing-nested-documents 中的说明,我将以下内容添加到 schema.xml

<field name="_root_" type="string" indexed="true" stored="false"/>
<fieldType name="nest_path" class="solr.NestPathField" />
<field name="_nest_path_" type="nest_path" />
<field name="_nest_parent_" type="string" indexed="true" stored="true"/>

为了创建一个测试文档,我使用了以下 PHP 代码:
$solrClient = ...
$solrInputDocument = new SolrInputDocument();
$solrInputDocument->addField('id', 'yirmi1', 1);
$solrInputDocument->addField('test_s', 'this is a parent test', 1);
$childDoc = new SolrInputDocument();
$childDoc->addField('id', 'yirmi2', 1);
$childDoc->addField('test_s', 'this is a child test', 1);
$solrInputDocument->addChildDocument($childDoc);
$solrUpdateResponse = $solrClient->addDocument($solrInputDocument);
$solrClient->commit();

当我查询 fq=id: "yirmi1" 时或 fq=id: "yirmi2" ,
记录出现了,但没有迹象表明有父文件或子文件。此外,在查询字段 _nest_parent_ 时, _nest_path_ , 和 _root_不要出现,即使我将它们指定为查询字段。

我还需要设置什么才能正确创建嵌套文档。

最佳答案

显然是“匿名”或“未标记”的子文档和 _nest_path_不能很好地混合在一起。

我认为你有两个选择:

一种)

如果要使用 addChildDocument,则需要删除 _nest_path__nest_parent_模式中的字段。

乙)

像设置任何其他字段一样设置父子关系:

$solrInputDocument->addField('child', $childDoc);

关于Solr 嵌套文档未正确设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59566421/

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