gpt4 book ai didi

mysql - 使用 Solr 数据导入处理程序将多值字段从 mySQL 导入 Solr

转载 作者:行者123 更新时间:2023-12-01 06:57:59 25 4
gpt4 key购买 nike

我们的 mySQL 中有以下两个表:

mysql> describe comment;
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| blogpost_id | int(11) | YES | | NULL | |
| comment_text | varchar(256) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+

mysql> describe comment_tags;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| comment_id | int(11) | YES | | NULL | |
| tag | varchar(80) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+

每个评论可以有多个标签。我们可以使用数据导入处理程序将整个注释导入 Solr。但是,我不确定如何将每个评论的标签导入为每个评论文档定义 schema.xml 的多值字段。

请指教。谢谢

最佳答案

您还可以将 GROUP_CONCAT 与分隔符(例如“,”)一起使用,然后尝试如下操作:

<dataConfig>
<!-- dataSource is just an example. Included just for completeness. -->
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/db" user="root" password="root"/>
<document>
<entity name="comment" pk="id" query="SELECT *, group_concat(tags) as comment_tags FROM comment" transformer="RegexTransformer">
<field column="blogpost_id" name="blogpost_id"/>
<field column="comment_text" name="comment_text" />
<field column="tag" name="comment_tags" splitBy = "," />
</entity>
</document>
</dataConfig>

它会提高性能,也会删除另一个查询的依赖关系。

关于mysql - 使用 Solr 数据导入处理程序将多值字段从 mySQL 导入 Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20233837/

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