gpt4 book ai didi

lucene - 在 SOLR 中映射一对多实体

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

我正在尝试将一些实体从现有数据库映射到 SOLR。

这些表是:

酒店:
酒店_id
酒店名称

酒店到类别:
酒店_id
类别编号
速度

类别:
类别编号
姓名
值(value)

如何使用 DataImportHandler 生成这样的文档:

{
hotel_name: 'name',
hotel_id: 1,
categories: [
{ category_name: 'cname',
value: 'val',
rate: 3,
}
]
}

任何帮助将不胜感激!

最佳答案

关系使用 DIH 中的堆叠实体编制索引。看看 DIH page在 Solr 维基中。

Solr 发行版中还包含一些基本示例,请查看 examples/example-DIH。

但是这里有一个限制,solr(当前)不支持索引文档之间的关系,因此您必须找到一种解决方法来索引它。例如,仅将显示数据存储在非索引字段中(这可能需要非常频繁地重新索引):

<document>
<entity name="hotel" query="select * from hotel">
<field column="id" name="hotel_id" />
<field column="hotel_name" name="hotel_name" />
<entity name="hotel_category_display"
query="SELECT STATEMENT THAT RETURNS JSON REPRESENTATION">
<field column="category" name="category" />
</entity>
</document>

或者通过仅存储类别 ID 并在搜索时进行查找(针对数据库,或单独索引类别并针对 Solr 查找):
<entity name="hotel_category_display"
query="SELECT STATEMENT THAT RETURNS JSON REPRESENTATION">
<field column="category" name="category" />
</entity>

关于lucene - 在 SOLR 中映射一对多实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207796/

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