Документ содержит несколько значений для поля uniqueKey: id = [<ValueInIDColumn>, 1] - PullRequest
0 голосов
/ 25 августа 2018

Я, наверное, что-то упустил.Работая над Solr POC, я индексирую CSV из 1000 строк, в котором есть строка идентификатора с уникальными значениями.

В файле Schema.xml элемент uniqueKey помечен как значение iD, то есть:id

Элемент fields имеет

<field name="id" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="transtype" type="string" indexed="false" stored="true"/>
<field name="status" type="string" indexed="false" stored="true"/>
<field name="amount" type="float" indexed="false" stored="true"/>
<field name="RDATE" type="tdate" indexed="true" stored="true" />
<field name="_version_" type="long" indexed="true" stored="true"/>

Я индексирую документ, используя обработчик запросов CSV ниже

curl -v "http://localhost:8983/solr/poc_collection/update/csv?header=true&rowid=id&stream.file=/home/data1/poc_doc_new&stream.contentType=text/csv;charset=utf-8"

Но я получаю документ, содержащий несколько значений, исключение ниже:

org.apache.solr.common.SolrException: Document contains multiple values for uniqueKey field: [151643895,1]

151643895 - это значение идентификатора в первой строке столбца идентификатора CSV

. Это подводит меня к вопросу о том, что Solr воспринимает как документ при индексации.

  1. Воспринимается ли весь документ CSV как 1 документ и, следовательно, не ожидается более 1 уникального значения в столбце идентификатора?

  2. Установив поле идентификатора в качестве уникального значения в схеме, разве я не установил бы гранулярность на уровне строки, Solr создает документ для каждой строки?

Обратите внимание, что значения в уникальной строке являются уникальными

...