mysql中表的哪些列应该声明为solr文档中实体的字段?

mysql中表的哪些列应该声明为solr文档中实体的字段?,solr,Solr,我正在尝试使用xml将mysql数据库导入到solr文档中,目前正在通过示例进行学习。但是,我无法理解为什么表中的某些列没有在data config.xml中声明为实体中的字段。 我还需要下载Oracle jdbc server才能使用dih导入mysql数据库吗?应该进入Solr的字段只有您实际计划搜索的字段。这可能是“大部分”,甚至是“全部”,但也可以是一个子集。例如,如果您的数据库包含一个类似于销售目录的表,那么您的MySQL数据库中很可能有一个类似以下内容的products表: +---

我正在尝试使用xml将mysql数据库导入到solr文档中,目前正在通过示例进行学习。但是,我无法理解为什么表中的某些列没有在data config.xml中声明为实体中的字段。

我还需要下载Oracle jdbc server才能使用dih导入mysql数据库吗?

应该进入Solr的字段只有您实际计划搜索的字段。这可能是“大部分”,甚至是“全部”,但也可以是一个子集。例如,如果您的数据库包含一个类似于销售目录的表,那么您的MySQL数据库中很可能有一个类似以下内容的
products
表:

+----------------+
| products       |
+----------------+
| name           |
| brand          |
| description    |
| weight         |
| availability   |
| price          |
| shipping       |
| photo          |
| warehouse      |
+----------------+
现在,人们不会在你的网站上搜索他们在32B仓库中寻找的产品,或者一种重量正好为3.23公斤的产品。他们在找一台“科尼格割草机”或别的什么

在本例中,您可能只索引前三列(可能是两个字段,一个用于名称和品牌,另一个用于描述)

这就是为什么必须定义要索引的字段以及如何索引的原因。根本没有合理的违约


至于库,您将需要MySQL连接器/J jar。不完全正确。您可能希望在SOLR中保留一些未索引的数据。为了便于抓取,为什么要先调用SOLR,然后再调用DB来抓取所有其他字段(可以跨越多个表)当然,您可以随时决定在SOLR中保留数据副本以便于访问-但不是每个人都希望这样做,所以Solr把选择权留给了你。@WanderNauta:所有网站都告诉你在solrconfig.xml中注册dih。我在Ubuntu中工作,我是否需要删除示例文件夹中的整个solrconfig.xml,然后添加DIH,或者我应该使用剩余的示例数据添加到文件>您应该添加到文件中。