【问题标题】:Searching wiki URLs using Solr使用 Solr 搜索 wiki URL
【发布时间】:2014-01-28 02:55:43
【问题描述】:

我正在尝试使用 Solr 在我们的 Intranet 上索引和搜索 wiki。我使用 edismax 或多或少地工作,但我无法让主要主题页面首先出现在搜索结果中。例如,假设我在数据库中有一些 URL:

http://whizbang.com/wiki/Foo/Bar
http://whizbang.com/wiki/Foo/Bar/One
http://whizbang.com/wiki/Foo/Bar/Two
http://whizbang.com/wiki/Foo/Bar/Two/Two_point_one

我希望能够搜索“foo bar”并将第一个链接作为顶部结果返回,因为它是 wiki 中该特定主题的主页。我尝试在搜索中提升标题和 URL 字段,但文档的 fieldNorm 值不断影响分数,因此子页面的分数更高。在一种特殊情况下,主题页面显示在第二个结果页面上。

有没有办法使第一个 URL 得分显着高于子类别,以便它显示在前 5 个搜索结果中?

【问题讨论】:

    标签: solr lucene edismax


    【解决方案1】:

    一种可能的尝试方法:

    1. 使用您的 url 创建一个 copyField
    2. 仅提取路径(因此,没有主机,没有 wiki)
    3. 在 / 上分割,也许还有空格
    4. 小写
    5. 提高短语或二元组或类似的东西。

    如果您有很多级别,也许您想要一个多值字段,具有不同的深度(从末尾开始)获得单独的条目。这样一个完美的匹配将获得更好的价值。在这里,您应该开始尝试真正的搜索。

    【讨论】:

    • 这可以使用标准的分词器/过滤器来完成,还是我需要做一些 Java 编码并创建自己的?
    • 这应该可以通过标准收集来实现。也许第 2 部分的正则表达式,虽然我认为也有一些事情。阅读默认示例中定义的链。它显示了相当多的变化。
    • Alex - 你是对的;我认为使用正则表达式过滤器会有所帮助。我还发现添加 edismax "pf" 变量 (Phrase Fields") 的标题和 URL 字段有帮助。
    猜你喜欢
    • 2011-08-28
    • 2013-05-02
    • 2017-03-26
    • 2014-05-13
    • 1970-01-01
    • 2011-03-24
    • 2015-04-07
    • 1970-01-01
    相关资源
    最近更新 更多