Apache Solr DataImport 成功,但没有查询结果

Apache Solr DataImport succeed, but no result from query

我是 solr 的新手,正在尝试使用 solr 6.5.1 + postgresql 索引数据库。

数据库索引终于成功了。

DataImport 屏幕显示

Indexing completed. Added/Updated: 0 documents. Deleted 0 documents. (Duration: 21m 13s)
Requests: 1 , Fetched: 19,736,915 15,504/s, Skipped: 0 , Processed: 0 
Started: about an hour ago

然而,当我按下 "Execute Query" 按钮时,查询屏幕上没有显示任何内容。

{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
  "q":"*:*",
  "indent":"on",
  "wt":"json",
  "_":"1497333923963"}},
  "response":{"numFound":0,"start":0,"docs":[]
}}

我的数据库配置 (db-data-config.xml) 如下所示。

 <dataConfig>
   <dataSource driver="org.postgresql.Driver" url="jdbc:postgresql://xxx.xx.xxx.xx:5432/xxxxx" user="xxxxx" password="xxx" />
   <document>
     <entity name="pubmed" query="select pmid, article_title, abstract from pubmed_xml">
        <field column="pmid" name="pmid" />
        <field column="article_title" name="article_title" />
        <field column="abstract" name="abstract" />
     </entity>
   </document>
</dataConfig>

你们能给我一些解决这个问题的提示吗?

提前致谢。

无论如何,我找到了解决问题的方法。

我把名字 'pmid' 改成了 'id' 这样的。

而且效果很好。 似乎 'id' 在 solr 配置中用作索引键。

有知道原因的请告知

谢谢。

如果您检查 schema.xml 文件,您会看到如下条目:<uniqueKey>id</uniqueKey>。这将 solr 字段 id 定义为唯一字段,该字段对于索引中的所有文档都是必需的。如果您想使用不同的字段,请更改 uniqueKey 条目并确保该特定字段(在您的情况下为 pmid)在架构中定义。