【问题标题】:Solr only search in default fieldSolr 仅在默认字段中搜索
【发布时间】:2011-02-23 09:23:49
【问题描述】:

我无法在默认字段以外的其他字段中进行搜索。使用 q=field:search 不会返回任何内容(但文档明显存在)。也没有用 defType=dismax 找到它。

在 schema.xml 中,我有 indexed="true" 和 stored="true" 的字段,就像默认字段一样。

我错过了什么?

提前致谢。

【问题讨论】:

    标签: solr


    【解决方案1】:

    所以你要发出 GET? 你检查过你的编码':',因为它应该是%3A。 如果没有正确的编码,您可能会尝试在默认字段中搜索“field:search”。

    您可以在 /solr/admin 中测试您的查询吗?

    【讨论】:

    • 是的,我正在发出 GET 并且编码是正确的。这似乎是我对数据库的查询:导入数据的查询来自两个不同的表:select table1.*, table2.field_title as title_table2 ...这是我可以搜索的“title_table2”(它在数据中配置-config.xml 和 schema.xml 正确)。有没有另一种方法来做这种类型的查询?它应该是 data-config 中的两个实体动画?
    【解决方案2】:

    只是检查一下,如果您更改了架构,则需要删除 /var/data 中的数据并重新启动 solr,否则您可能正在搜索旧的未索引的东西。

    【讨论】:

    • 我已尝试删除数据目录,再次完全导入,但也不起作用:仍然在“子实体”字段中找不到任何内容,但此字段在搜索字段时显示“主实体”
    • 你能试试我在下面回答中给出的模式,看看它是否在那里工作? stackoverflow.com/questions/4948587/…
    【解决方案3】:

    如果您使用 DisMax 搜索,请确保您已将要搜索的字段添加到 query fields 参数 solr 搜索中。可能只是您在搜索语句中声明了 qf 参数,而您的字段从列表中丢失。

    【讨论】:

      【解决方案4】:

      这可能有点太简单了,但是除了重新启动你的 solr 实例之外,你还记得 reindex 吗?否则schema.xml 中的更改将不适用。

      【讨论】:

        猜你喜欢
        • 2013-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        相关资源
        最近更新 更多