mysql - Solr 没有索引 mysql 数据库

标签 mysql solr solrcloud

嗨,我正在尝试将 mysql 数据库索引到 solr。但它唯一的索引id。我尝试了很多。但没有成功。但我尝试在同一个数据库中索引地理位置进行测试,并成功索引所有城市。我只是知道缺少什么。此查询包含一些产品描述,例如“Solr 未返回从 MySQL 索引的结果”。

我的数据库配置

    <entity name="geo"  
    pk="id"
    query="select id, title from `inlive`"
    deltaImportQuery="select id, title from `inlive`"
    deltaQuery="select id, title from `inlive`"
    >
        <field column="id" name="id"/>
        <field column="title" name="title"/>
  </entity>

架构

<?xml version="1.0" encoding="UTF-8" ?>
<uniqueKey>id</uniqueKey>
<schema name="geo" version="1.5">
    <field name="_version_" type="long" indexed="true" stored="true"/>
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="title" type="string" indexed="true" stored="true" multiValued="false" required="true" />
</schema>

结果

{
  "responseHeader":{
    "status":0,
    "QTime":3,
    "params":{
      "q":"*:*",
      "indent":"on",
      "wt":"json",
      "_":"1506369405758"}},
  "response":{"numFound":2,"start":0,"docs":[
      {
        "id":"1",
        "_version_":1579543508130201600},
      {
        "id":"2",
        "_version_":1579543508218281984}]
  }}

调试

{
  "responseHeader": {
    "status": 0,
    "QTime": 275
  },
  "initArgs": [
    "defaults",
    [
      "config",
      "data-config.xml"
    ]
  ],
  "command": "full-import",
  "mode": "debug",
  "documents": [
    {
      "id": [
        1
      ],
      "_version_": [
        1579544391043776500
      ]
    },
    {
      "id": [
        2
      ],
      "_version_": [
        1579544391046922200
      ]
    }
  ],
  "verbose-output": [
    "entity:geo",
    [
      "document#1",
      [
        "query",
        "select id, title from `inlive`",
        "time-taken",
        "0:0:0.10",
        null,
        "----------- row #1-------------",
        "id",
        1,
        "title",
        "test title",
        null,
        "---------------------------------------------"
      ],
      "document#2",
      [
        null,
        "----------- row #1-------------",
        "id",
        2,
        "title",
        "test title 2",
        null,
        "---------------------------------------------"
      ],
      "document#3",
      []
    ]
  ],
  "status": "idle",
  "importResponse": "",
  "statusMessages": {
    "Total Requests made to DataSource": "1",
    "Total Rows Fetched": "2",
    "Total Documents Processed": "2",
    "Total Documents Skipped": "0",
    "Full Dump Started": "2017-09-25 20:21:57",
    "": "Indexing completed. Added/Updated: 2 documents. Deleted 0 documents.",
    "Committed": "2017-09-25 20:21:57",
    "Optimized": "2017-09-25 20:21:57",
    "Time taken": "0:0:0.255"
  }
}

最佳答案

终于我找到了这个solr的问题。

我使用的是 solr 6.6 因此,我必须按照此链接中的本教程将托管架构重命名为架构 http://makble.com/how-to-index-mysql-data-in-solr 。我还对地理城市进行了测试。默认情况下,它采用托管模式作为主模式,它采用我的旧测试模式字段。它没有获取 schema.xml。

所以解决方案是需要定义schema.xml

<schemaFactory class="ClassicIndexSchemaFactory"/>

引用链接:Data-config.xml and mysql - I can load only "id" column

或将托管架构重命名为 schema.xml 或删除托管架构

关于mysql - Solr 没有索引 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46413636/

相关文章:

MySQL 将行转为动态数量的列

php - MySQL 与 SQL AS 错误

tomcat - 收集 RELOAD 后 SolrCloud 节点关闭

mysql - 在 MySQL 中读取通信数据包时出错

php - 使用 MySQL,不选择存在于不同表中的用户的最佳方法是什么?

mysql - 选择独立全文搜索服务器 : Sphinx or SOLR?

java - Lucene/Hibernate 搜索锁定异常

java - SOLR 1.3 和 SOLR 3.4 之间是否存在主要的架构差异?

solr - 将 Zookeeper 添加到现有 Solr

java - 由于访问集合 url 时出错,Solr-Spark 无法建立索引