从集合中删除一些记录后,Apache Solr建议程序字典未更新

住友

我要上传一些初始数据(在Solr 5.3.1中)后更新Solr建议者字典。删除所有数据并上传回修改后的数据后,将更新提示字典。但是,当我删除任何特定记录(例如id = 123)时,建议程序仍会在结果集中返回已删除的记录。

例如,

  1. 我最初将以下json数据上传到mycollection:

json_data.json

[
    {
        "id": 1,
        "name": "New York"
    },
    {
        "id": 2,
        "name": "New Jersey"
    },
    {
        "id": 3,
        "name": "California"
    }
]

使用此命令:

curl -X POST -H 'Content-Type: application/json' 'http://localhost:8983/solr/mycollection/update?commit=true' --data-binary @json_data.json
  1. 选择查询返回以下内容:

本地主机:8983 / solr / mycollection / select?q = %3A&wt = json&indent = true

{
    "responseHeader": {
        "status": 0,
        "QTime": 0,
        "params": {
            "q": "*:*",
            "indent": "true",
            "wt": "json",
            "_": "1448271522315"
        }
    },
    "response": {
        "numFound": 3,
        "start": 0,
        "docs": [
            {
                "id": "1",
                "name": [
                    "New York"
                ],
                "_version_": 1518622755181822000
            },
            {
                "id": "2",
                "name": [
                    "New Jersey"
                ],
                "_version_": 1518622755186016300
            },
            {
                "id": "3",
                "name": [
                    "California"
                ],
                "_version_": 1518622755187064800
            }
        ]
    }
}
  1. 建议者针对“新”字词返回以下内容:

本地主机:8983 / solr / mycollection / suggest?q = New&wt = json&indent = true

{
    "responseHeader": {
        "status": 0,
        "QTime": 0
    },
    "spellcheck": {
        "suggestions": [
            "New",
            {
                "numFound": 2,
                "startOffset": 0,
                "endOffset": 3,
                "suggestion": [
                    "New Jersey",
                    "New York"
                ]
            }
        ],
        "collations": [
            "collation",
            "(New Jersey)"
        ]
    }
}
  1. 现在,我使用以下命令从mycollection中删除“新泽西”:curl http:// localhost:8983 / solr / mycollection / update?commit = true -H“ Content-Type:text / xml” --data-binary'(id :2)'

  2. 现在,选择查询仅返回剩余的2条记录(已删除“新泽西”)

本地主机:8983 / solr / mycollection / select?q = %3A&wt = json&indent = true

{
    "responseHeader": {
        "status": 0,
        "QTime": 0,
        "params": {
            "q": "*:*",
            "indent": "true",
            "wt": "json",
            "_": "1448272061874"
        }
    },
    "response": {
        "numFound": 2,
        "start": 0,
        "docs": [
            {
                "id": "1",
                "name": [
                    "New York"
                ],
                "_version_": 1518622755181822000
            },
            {
                "id": "3",
                "name": [
                    "California"
                ],
                "_version_": 1518622755187064800
            }
        ]
    }
}
  1. 但是建议查询仍然在结果集中返回“新泽西”

本地主机:8983 / solr / mycollection / suggest?q = New&wt = json&indent = true

{
    "responseHeader": {
        "status": 0,
        "QTime": 0
    },
    "spellcheck": {
        "suggestions": [
            "New",
            {
                "numFound": 2,
                "startOffset": 0,
                "endOffset": 3,
                "suggestion": [
                    "New Jersey",
                    "New York"
                ]
            }
        ],
        "collations": [
            "collation",
            "(New Jersey)"
        ]
    }
}

重新加载管理核心并重新启动solr服务器后,我尝试过,但结果保持不变。

可能是什么问题?建议程序组件(solr.SpellCheckComponent)是否使用任何缓存?如果是,如何清除?

任何帮助,将不胜感激。

亚历山大·拉法洛维奇(Alexander Rafalovich)

大多数拼写检查程序和建议程序不会直接在索引之外工作,而是建立并行结构。在每次提交时都会建立一个设置,并且-如果该设置为false-则可以在请求中传递一个标志来触发重建。对于拼写检查器,此标志是spellcheck.build或spellcheck.reload

因此,请检查配置内容,然后尝试显式调用rebuild / reload。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Solr中建议程序组件中的错误

来自分类Dev

如何在PHP PECL扩展中启用solr拼写检查程序或建议程序

来自分类Dev

如何从python字典中删除一些值

来自分类Dev

从嵌套字典中删除一些键的优雅方法

来自分类Dev

从Python字典中删除一些元素

来自分类Dev

删除未知文件扩展名的建议程序

来自分类Dev

一些记录无法通过PHP和MySql中的批量更新来更新

来自分类Dev

从python中的字典中删除一些固定数量的键的快速方法?

来自分类Dev

如果键包含一些子字符串,如何从字典中动态删除键值对?

来自分类Dev

pygame中的多人游戏程序在添加一些代码后运行非常慢

来自分类Dev

安装一些DVD程序和奶酪后,音频输入在12.04中不起作用

来自分类Dev

安装一些DVD程序和奶酪后,音频输入在12.04中不起作用

来自分类Dev

更新NetLogo中的一些图

来自分类Dev

React + Redux在组件更新后做一些事情

来自分类Dev

从 List 集合中删除一些单词

来自分类Dev

是否有一些实用程序或插件在bash历史记录中包含当前目录?

来自分类Dev

需要一些建议

来自分类Dev

在 pom 中添加一些新包后 Eclipse 不允许我以 Scala 应用程序运行

来自分类Dev

从Python的一些列表中建立字典列表

来自分类Dev

将一些列表合并到字典中

来自分类Dev

Ansible:如何从字典列表中过滤一些元素

来自分类Dev

python字典中的一些随机错误

来自分类Dev

Python 中的字典循环有一些错误

来自分类Dev

Excel VBA - 集合字典(带有一些其他方法和项目)

来自分类Dev

更新时UpdateAPIView中对象的一些操作

来自分类Dev

Linux中C上程序的一些选项

来自分类Dev

在TeamCity中隐藏一些nuget程序包

来自分类Dev

如何使用linq获取集合,但从嵌套集合中删除一些实体呢?

来自分类Dev

需要一些紧急建议-Ubuntu安装后无法访问Windows磁盘

Related 相关文章

  1. 1

    Solr中建议程序组件中的错误

  2. 2

    如何在PHP PECL扩展中启用solr拼写检查程序或建议程序

  3. 3

    如何从python字典中删除一些值

  4. 4

    从嵌套字典中删除一些键的优雅方法

  5. 5

    从Python字典中删除一些元素

  6. 6

    删除未知文件扩展名的建议程序

  7. 7

    一些记录无法通过PHP和MySql中的批量更新来更新

  8. 8

    从python中的字典中删除一些固定数量的键的快速方法?

  9. 9

    如果键包含一些子字符串,如何从字典中动态删除键值对?

  10. 10

    pygame中的多人游戏程序在添加一些代码后运行非常慢

  11. 11

    安装一些DVD程序和奶酪后,音频输入在12.04中不起作用

  12. 12

    安装一些DVD程序和奶酪后,音频输入在12.04中不起作用

  13. 13

    更新NetLogo中的一些图

  14. 14

    React + Redux在组件更新后做一些事情

  15. 15

    从 List 集合中删除一些单词

  16. 16

    是否有一些实用程序或插件在bash历史记录中包含当前目录?

  17. 17

    需要一些建议

  18. 18

    在 pom 中添加一些新包后 Eclipse 不允许我以 Scala 应用程序运行

  19. 19

    从Python的一些列表中建立字典列表

  20. 20

    将一些列表合并到字典中

  21. 21

    Ansible:如何从字典列表中过滤一些元素

  22. 22

    python字典中的一些随机错误

  23. 23

    Python 中的字典循环有一些错误

  24. 24

    Excel VBA - 集合字典(带有一些其他方法和项目)

  25. 25

    更新时UpdateAPIView中对象的一些操作

  26. 26

    Linux中C上程序的一些选项

  27. 27

    在TeamCity中隐藏一些nuget程序包

  28. 28

    如何使用linq获取集合,但从嵌套集合中删除一些实体呢?

  29. 29

    需要一些紧急建议-Ubuntu安装后无法访问Windows磁盘

热门标签

归档