【问题标题】:In Solr search multiple objects not updated在 Solr 中搜索多个未更新的对象
【发布时间】:2015-03-10 14:01:14
【问题描述】:

solr 搜索多个对象未更新或插入。请帮帮我。

"materialNames":[
                                {
                                "material_id":1,
                                "description":"Motor Oil",
                                "business":"",
                                "residential":"",
                                "notes":""
                                },
                                {
                                "material_id":2,
                                "description":"Oil Filters",
                                "business":"",
                                "residential":"",
                                "notes":""
                                }
                            ]

【问题讨论】:

    标签: solr solr4


    【解决方案1】:

    您正在尝试将嵌入式文档插入 Solr

    注意:

    1>我用过Solr 4.7.0

    2>我已经推荐Embedded Documents In Solr你可以按照这里提到的步骤。

    以下是步骤

    第 1 步:

    在您的 solrhome 文件夹中创建一个 lib 文件夹(其中包含 bincollection1 文件夹)

    将下面的jar文件添加到lib文件夹

    - solrjsonchild-0.0.1.jar
    - json-simple-1.1.1.jar 
    

    您可以从source code(将其转换为jar)或here路径:/solr-4.9.0-MODIFIED.zip/solr-4.9.0/contrib/solrjsonchild-0.0.1.jar)获取solrjsonchild-0.0.1.jar文件

    第 2 步:

    开启solrconfig.xml

    修改

     <requestHandler name="/update"  class="com.solrfromscratch.handler.UpdateModifiedRequestHandler">
    

    修改

    <requestHandler name="/update/json" class="com.solrfromscratch.handler.UpdateModifiedRequestHandler">
    

    第三步:

    开启schema.xml

    • 定义 &lt;fieldType name="json" class="com.solrfromscratch.fields.Json"/&gt;

    • 配置你的字段 &lt;field name="materialNames_json" type="json" indexed="false" stored="true"/&gt;

    • 配置动态字段 &lt;dynamicField name="materialNames.*" type="string" indexed="true" stored="true"/&gt;

    注意:内嵌字段名应以_json结尾,否则会报错Error parsing JSON field value. Unexpected OBJECT_START

    第四步:

    运行 Solr(我使用了端口8973

    更新 json 文档

    {"id":"123",
    "materialNames_json":[
                                {
                                "material_id":1,
                                "description":"Motor Oil",
                                "business":"",
                                "residential":"",
                                "notes":""
                                },
                                {
                                "material_id":2,
                                "description":"Oil Filters",
                                "business":"",
                                "residential":"",
                                "notes":""
                                }
                      ] }
    

    结果:

    http://localhost:8973/solr/collection1/select?q=*%3A*&amp;wt=json&amp;indent=true

    {
    "responseHeader": {
    "status": 0,
    "QTime": 0,
    "params": {
      "indent": "true",
      "q": "*:*",
      "_": "1426163321444",
      "wt": "json"
     }
    },
    "response": {
    "numFound": 1,
    "start": 0,
    "docs": [
      {
        "id": "123",
        "materialNames.0.residential": "",
        "materialNames.0.description": "Motor Oil",
        "materialNames.0.material_id": "1",
        "materialNames.0.notes": "",
        "materialNames.0.business": "",
        "materialNames.1.residential": "",
        "materialNames.1.description": "Oil Filters",
        "materialNames.1.material_id": "2",
        "materialNames.1.notes": "",
        "materialNames.1.business": "",
        "materialNames_json": [
          {
            "residential": "",
            "description": "Motor Oil",
            "material_id": 1,
            "notes": "",
            "business": ""
          },
          {
            "residential": "",
            "description": "Oil Filters",
            "material_id": 2,
            "notes": "",
            "business": ""
          }
        ],
        "_version_": 1495440547544825900
        }
       ]
      }
     }
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-08-20
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      • 2012-10-21
      • 1970-01-01
      相关资源
      最近更新 更多