如何将数据插入SOLR中的多值字段?

时间:2016-06-23 10:22:44

标签: solr

管理型模式

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="category" type="text_general" indexed="true" stored="true" multiValued="true"/>

data.csv

id  category
1   CA,USA
2   DW,USA
3   NY,USA

提供如下数据:

curl "http://localhost:8983/solr/demo/update/csv?wt=json&separator=%09&f.category.split=true&f.category.seperator=%2C&f.category.encapsulator='&commit=true" --data-binary @data.csv -H 'Content-type:text/plain; charset=utf-8'

我提到了类别字段分隔符为%2c(编码的逗号),但数据存储为:

category:["CA,USA"]

我希望将数据存储为:

category:["CA","USA"]

3 个答案:

答案 0 :(得分:2)

您的方法存在一个简单的拼写错误。

&f.category.seperator=%2C 

应为&f.category.separator=%2C

我看到你用JSON方法解决了它。但是这个也适用。

答案 1 :(得分:0)

我觉得分隔符存在问题,因为您使用文件分隔符作为分隔符=%09而且您使用相同的分隔符foe多值字段作为f.category.seperator =%2C

答案 2 :(得分:0)

试试这个

var controller;
beforeEach(inject(function($rootScope, $controller) {
        scope = $rootScope.$new();
        controller = $controller('TestController', {
            $scope: scope
            //Inject more dependencies if you want to
        });
    }));

注意:必须使用完整路径或相对于正在运行的solr服务器的CWD的路径。

source