警告: Solr新手在这里
我有一个包含多个模式的PostgreSQL数据库。每个模式包含几个表。这些模式通常在表格数量上有所不同,表格也没有多少共同之处。
关于尺寸调整:
我希望跨数据库模式对数据进行全文搜索。因此,我希望能够识别与搜索词匹配的架构,表和列。
到目前为止,我自己想到的是几个SOLR选项(我很乐意提供有关ES解决方案的建议):
1。创建一个多核,其中每个核心代表数据库模式中的表
这将很好地重用数据库架构,但我最终会有数千个核心,我相信这些核心是误用的。
2。将索引展平,以便涵盖所有可能的值
我在考虑超级通用的Solr架构,它基本上导航到表格中的单个单元格。类似于:
<fields>
<field name="schema" ... />
<field name="table" ... />
<field name="column" ... />
<field name="row" ... />
<field name="value" ... />
</fields>
在这种情况下,我觉得我可能会误用整个概念,因为值必须是某种通用类型(String?),它已经闻起来了:)
此外,还需要编写ID,但我理解should be possible。
对该问题或建议的任何见解都将非常感谢。
答案 0 :(得分:1)
回复:
@jeorfevre:我的想法是我会搜索一个单词(比如“耶路撒冷”)并且响应需要导航我到模式 - &gt;表 - &gt;该术语存在的列。能够识别偶数行是一个加号,但不是严格要求。
我建议您使用单词索引而不是行/行全文。
<fields>
<field name="schema" ... />
<field name="table" ... />
<field name="column" ... />
<field name="row" ... />
<field name="myword" ... />
</fields>
这比在solr中的X行上的全文搜索要好得多。全文是solr中最慢的选项。这种搜索是最好的选择。
您输入“耶路撒冷”,它将返回与之匹配的所有结果。 你对那个怎么想的。比全文搜索更好,这将直接击中一个单词。