Как я могу разделить более одного (1) поля с помощью импорта CSR Solr - PullRequest
0 голосов
/ 19 августа 2011

Учитывая следующий CSV-файл:

id,name,manu,cat,features,price,popularity,inStock,manufacturedate_dt,store
SPF15,Hawaii Sunblock,P&G,lotion|medicine|ointment,15SPF|waterproof|kidsfriendly,8.99,8,true,2011-02-13T15:26:37Z,"35.0752,-97.032"

Когда я запускаю эту команду

curl 'http://localhost:8080/solr/update/csv?commit=true&f.features.split=true&f.features.separator=%7Cf.cat.split=true&f.cat.separator=%7C' --data-binary @input.csv -H 'Content-type:text/plain; charset=utf-8' 

Разделена только функция, но не кошка

<response>

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">2</int>
  <lst name="params">
    <str name="indent">on</str>
    <str name="start">0</str>
    <str name="q">ointment</str>

    <str name="rows">10</str>
    <str name="version">2.2</str>
  </lst>
</lst>
<result name="response" numFound="1" start="0">
  <doc>
    <arr name="cat"><str>lotion|medicine|ointment</str></arr>
    <arr name="features"><str>15SPF</str><str>waterproof</str><str>kidsfriendly</str></arr>

    <str name="id">SPF15</str>
    <bool name="inStock">true</bool>
    <str name="manu">P&amp;G</str>
    <date name="manufacturedate_dt">2011-02-13T15:26:37Z</date>
    <str name="name">Hawaii Sunblock</str>
    <int name="popularity">8</int>

    <float name="price">8.99</float>
    <str name="store">35.0752,-97.032</str>
  </doc>
</result>
</response>

Когда я переключаю порядок полей, функций и кота,

curl 'http://localhost:8080/solr/update/csv?commit=true&f.cat.split=true&f.cat.separator=%7Cf.features.split=true&f.features.separator=%7C' --data-binary @input.csv -H 'Content-type:text/plain; charset=utf-8' 

Только кошка разделена, но не черты

<response>

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">2</int>
  <lst name="params">
    <str name="indent">on</str>
    <str name="start">0</str>
    <str name="q">ointment</str>

    <str name="rows">10</str>
    <str name="version">2.2</str>
  </lst>
</lst>
<result name="response" numFound="1" start="0">
  <doc>
    <arr name="cat"><str>lotion</str><str>medicine</str><str>ointment</str></arr>

    <arr name="features"><str>15SPF|waterproof|kidsfriendly</str></arr>
    <str name="id">SPF15</str>
    <bool name="inStock">true</bool>
    <str name="manu">P&amp;G</str>
    <date name="manufacturedate_dt">2011-02-13T15:26:37Z</date>
    <str name="name">Hawaii Sunblock</str>

    <int name="popularity">8</int>
    <float name="price">8.99</float>
    <str name="store">35.0752,-97.032</str>
  </doc>
</result>
</response>

Я проверил различные ссылки и учебные пособия, нет примеров разделения нескольких полей в одном запросе, но нет причин, почему он должен работать.

Есть идеи?

Спасибо

1 Ответ

2 голосов
/ 19 августа 2011

Вам не хватает &.Попробуйте:

curl 'http://localhost:8080/solr/update/csv?commit=true&f.features.split=true&f.features.separator=%7C&f.cat.split=true&f.cat.separator=%7C' --data-binary @input.csv -H 'Content-type:text/plain; charset=utf-8'

(обратите внимание, что я добавил & после %7C)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...