gpt4 book ai didi

Solr DataImportHandler - JOIN 与单独的实体

转载 作者:行者123 更新时间:2023-12-04 18:10:24 32 4
gpt4 key购买 nike

在 Solr DIH data-config.xml 中,使用 JOIN 在主实体中通过查询获取尽可能多的字段是否更好,例如:

<entity name="Lists" 
pk="l.list_id"
query="SELECT l.list_id AS id, l.user_id, lo.is_votable FROM lists l
INNER JOIN list_options lo ON lo.list_id = l.list_id">

或使用单独的子实体,如:
<entity name="Lists" 
pk="l.list_id"
query="SELECT l.list_id AS id, l.user_id FROM lists l">

<entity name="ListOptions"
query="SELECT lo.is_votable FROM list_options lo
WHERE lo.list_id=${Lists.id}" />

</entity>

最佳答案

一些可以帮助您做出决定的指针:-

  • 子实体为每条记录触发一个查询,因此如果您有一个庞大的集合,则性能会变慢。
  • 如果您有一对一的映射,您可以使用连接,这样您就可以通过一个查询本身获取所有字段。
  • 如果您有多个根记录,您将使用可能会创建多值字段的子实体。 (你不能使用单个连接查询,因为它会为同一个文档返回多行,除非你想要这种行为)
  • 关于Solr DataImportHandler - JOIN 与单独的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15555202/

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