gpt4 book ai didi

mysql - Solr DIH 与 SQL

转载 作者:行者123 更新时间:2023-11-29 14:09:53 25 4
gpt4 key购买 nike

我正在尝试设置 SOLR 以从 SQL 文件导入文档。我发现这个应该放在数据配置中:

<dataConfig>
<dataSource driver="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/wikipedia" user="wikipedia" password="secret" />
<document>
<entity name="page" query="SELECT page_id, page_title from page">
<field column="page_id" name="id" />
<field column="page_title" name="name" />
<entity name="revision" query="select rev_id from revision where rev_page=${page.page_id}">
<entity name="pagecontent" query="select old_text from pagecontent where old_id=${revision.rev_id}">
<field column="old_text" name="text" />
</entity>
</entity>
</entity>
</document>
</dataConfig>

就我而言,我的架构如下所示:

CREATE TABLE country (
id integer NOT NULL PRIMARY KEY AUTO_INCREMENT,
name varchar(255) NOT NULL
)
;

CREATE TABLE location (
id integer NOT NULL PRIMARY KEY AUTO_INCREMENT,
name varchar(255) NOT NULL,
coordinate varchar(255) NOT NULL,
country_id integer NOT NULL REFERENCES country (id)
)
;

CREATE TABLE item (
id integer NOT NULL PRIMARY KEY AUTO_INCREMENT,
title varchar(60) NOT NULL,
description varchar(900) NOT NULL,
date datetime NOT NULL,
source varchar(255) NOT NULL,
link varchar(255) NOT NULL,
location_id integer NOT NULL REFERENCES location (id)
)
;

如果我想将以下字段导入到 Solr 中:

id
title
description
date
source
link
location(name)
location(co-ordinates)

有人可以帮助我更改示例数据配置以使用我的数据吗?我感到困惑的是何时使用“实体”以及何时使用“字段列”。

最佳答案

你可以通过两种方式做到这一点,例如:-

使用项目和位置之间的联接创建简单的 SQL 查询

<document name="items">
<entity name="item" query="SELECT A.ID, A.TITLE, A.DESCRIPTION, A.DATE, A.SOURCE, B.COORDINATE , C.NAME FROM ITEM A, LOCATION B, COUNTRY C WHERE A.LOCATION_ID = B.ID AND B.COUNTRY_ID = C.ID">
<field column="ID" name="id" />
<field column="TITLE" name="title" />
<field column="DESCRIPTION" name="description" />
<field column="DATE" name="date" />
<field column="SOURCE" name="source" />
<field column="COORDINATE" name="coordinate" />

</entity>
</document>

使用subentities :-

<document name="items">
<entity name="item" query="SELECT A.ID, A.TITLE, A.DESCRIPTION, A.DATE, A.SOURCE, B.COORDINATE , C.NAME FROM ITEM A, LOCATION B, COUNTRY C WHERE A.LOCATION_ID = B.ID AND B.COUNTRY_ID = C.ID">
<field column="ID" name="id" />
<field column="TITLE" name="title" />
<field column="description" name="description" />
<field column="DATE" name="date" />
<field column="SOURCE" name="source" />

<entity name="location" query="select coordinate from location where id='${item.ID}'">
<field name="coordinate" column="coordinate" />
</entity>

</entity>
</document>

关于mysql - Solr DIH 与 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13683466/

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