Я, наверное, что-то упустил.Работая над 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 воспринимает как документ при индексации.
Воспринимается ли весь документ CSV как 1 документ и, следовательно, не ожидается более 1 уникального значения в столбце идентификатора?
Установив поле идентификатора в качестве уникального значения в схеме, разве я не установил бы гранулярность на уровне строки, Solr создает документ для каждой строки?
Обратите внимание, что значения в уникальной строке являются уникальными