Ich habe Solr 5.0.0 auf Windows Server 2012. Ich möchte alle Daten aus meiner Tabelle in Solr-Engine laden.Data-config.xml und mysql - Ich kann nur "ID" Spalte laden
Meine Daten-config.xml sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8" ?>
<!--# define data source -->
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/database"
user="root"
password="root"/>
<document>
<entity name="my_table"
pk="id"
query="SELECT ID, LASTNAME FROM my_table limit 2">
<field column="ID" name="id" type="string" indexed="true" stored="true" required="true" />
<field column="LASTNAME" name="lastname" type="string" indexed="true" stored="true"/>
</entity>
</document>
</dataConfig>
Wenn ich wählen Datenimport, habe ich eine Antwort bekam:
Indexing completed. Added/Updated: 2 documents. Deleted 0 documents
Requests: 1, Fetched: 2, Skipped: 0, Processed: 2
Und Raw Debug-Reaktion:
{
"responseHeader": {
"status": 0,
"QTime": 280
},
"initArgs": [
"defaults",
[
"config",
"data-config.xml"
]
],
"command": "full-import",
"mode": "debug",
"documents": [
{
"id": [
1983
],
"_version_": [
1497798459776827400
]
},
{
"id": [
1984
],
"_version_": [
1497798459776827400
]
}
],
"verbose-output": [
"entity:my_table",
[
"document#1",
[
"query",
"SELECT ID,LASTNAME FROM my_table limit 2",
"time-taken",
"0:0:0.8",
null,
"----------- row #1-------------",
"LASTNAME",
"Gates",
"ID",
1983,
null,
"---------------------------------------------"
],
"document#2",
[
null,
"----------- row #1-------------",
"LASTNAME",
"Doe",
"ID",
1984,
null,
"---------------------------------------------"
],
"document#3",
[]
]
],
"status": "idle",
"importResponse": "",
"statusMessages": {
"Total Requests made to DataSource": "1",
"Total Rows Fetched": "2",
"Total Documents Skipped": "0",
"Full Dump Started": "2015-04-07 15:05:22",
"": "Indexing completed. Added/Updated: 2 documents. Deleted 0 documents.",
"Committed": "2015-04-07 15:05:22",
"Optimized": "2015-04-07 15:05:22",
"Total Documents Processed": "2",
"Time taken": "0:0:0.270"
}
}
Und schließlich, wenn ich solr
fragehttp://localhost:8983/solr/test/query?q=*:*
Ich habe eine Antwort bekam:
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"q":"*:*"}},
"response":{"numFound":2,"start":0,"docs":[
{
"id":"1983",
"_version_":1497798459776827392},
{
"id":"1984",
"_version_":1497798459776827393}]
}}
Ich möchte auch Nachname Spalte sehen. Warum kann ich nicht?
Post schema.xml – arun
Es sieht aus wie Sie versuchen, Ihre Felder zu definieren, wie Sie normalerweise in der 'schema.xml' direkt Ihr in' data-config.xml', mit dem ich experimentieren müsste, aber ich glaube nicht, dass das tatsächlich möglich ist. Das '' Element in der 'data-config.xml' ist mehr über das Mapping der zurückgegebenen SQL' Spalte' mit dem erwarteten Solr Feld 'name'. Definieren Sie in 'schema.xml' ein Feld' lastname'? Der Datenimporteur löscht normalerweise Felder, die von Ihren Abfragen zurückgegeben werden, wenn sie nicht definierten Feldern zugeordnet sind. –
frances
Danke für die Antworten! Also: 1. Ich geänderte Daten-config.xml zu: \t ' \t \t \t \t \t ' 2. Und fügte hinzu Linie ' ' Meine schema.xml sieht wie folgt aus: http: //pastebin.com/xLgsv31h –