【问题标题】:Extending Solr Tutorial with custom fields/core使用自定义字段/核心扩展 Solr 教程
【发布时间】:2014-10-18 18:47:02
【问题描述】:

在站起一个基本的码头 Solr example 之后。我试图制作自己的核心来代表我的公司将看到的数据。我创建了一个包含 conf 和数据目录的目录结构,并从 collection1 示例中复制了 core.properties、schema.xml 和 solrconfig.xml。 我编辑了 core.properties 以更改核心名称,并向架构添加了 31 个字段(大多数类型为 text_general、索引、存储、不需要或多值)。

我很确定我已正确设置它,因为我可以在管理页面下拉菜单中看到我的核心并与之交互。问题是,当我提供为新字段设计的文档时,我无法成功查询任何值。我相信数据是在我得到相同的命令行响应时提供的:

"POSTing file incidents.xml...
1 file indexed. .... 
COMMITting..."

我认为,索引过程需要更多时间,但是当我将示例文档(例如 <field name="name">Apple 60 GB iPod with Video Playback Black</field> from ipod_video.xml)中的字段节点复制到我的文件副本(incidents2.xml)中时,对任何这些字符串的搜索立即成功.

我的问题最好的例子是两个文件都有以下字段: <field name="Brand" type="text_general" indexed="true" stored="true" required="false" multiValued="false"/> <field name="Brand">APPLE</field> 但是,只有第二个文档(具有上述 name 字段)与 apple 的查询一起返回。

感谢您阅读本文;我的问题是:

1) 有没有办法转储文档摄取的分析/标记化阶段?要么我不明白,要么分析选项卡不是为此而设计的。 debugQuery=true 参数给出了相关性得分数据,但没有解释文档被排除在外的原因。

2) 一旦我解决了我的整体问题,我希望索引中包含大文本字段,我可以在 solr 中将长格式文本包装在 CDATA 块中吗?

再次感谢。

【问题讨论】:

    标签: solr


    【解决方案1】:

    要在 Solr 中调试任何查询问题,需要检查一些有用的东西。您可能还希望将分析页面的输出和您在 schema.xml 中遇到问题的字段添加到您的问题中。在尝试调试任何索引问题时,使用较小的核心也是一个好主意(使用三个或四个字段来开始并使其工作)。

    文档确实在索引中吗? - 搜索 : (q=*:*) 以确保索引中存在任何文档。 *:* 是一个快捷方式,意思是“给我所有文件,不管价值如何”。如果没有返回文档,则索引中没有内容,任何搜索它的尝试都将得到零结果。

    检查日志 - 确保设置了SolrLogging,这样您的日志中就会出现任何错误。通过这种方式,您可以查看在进行查询或索引时是否有任何特别的问题,这会导致查询永远不会被执行或任何文档被添加到索引中。

    使用分析页面 - 如果您在索引中有文档,但未针对您进行的查询返回它们,请在分析页面选择您要查询的字段并添加索引时给出的值(在索引列中)和查询时使用的值(在查询字段中)。然后,该页面将生成索引和查询时采取的所有步骤,并在每个步骤中向您显示令牌流。如果标记匹配,它们将以不同的背景颜色突出显示,并且根据您的设置,您可能要求查询端出现的所有标记都出现在索引端(即每个标记 AND 一起)。出于这个原因,从在查询端搜索单个标记开始。

    如果您仍然没有任何命中,但索引中有文档,请更具体。 :-)

    是的,您可以使用 CDATA。

    【讨论】:

    • 感谢 MatsLindh 的提示
    • 抱歉,按回车键,编辑时间用完了。谢谢@MatsLindh 的提示。 1) 是的,catch all 查询获取两个文件。 2/3)在尝试使用分析页面理解您的说明时,我发现显式字段搜索工作得很好(即品牌:Apple)。进一步的研究表明,仅“apple”的查询会搜索“默认字段”而不是所有字段。搜索所有字段的语法/配置是什么?
    • 如果您使用 edismax 查询处理程序,请使用 `qf=´,这样您就可以告诉它要查询哪些字段并对每个字段应用不同的权重(将标题优先于内容等)。将您想要搜索的具有特定权重的所有字段复制到“全部捕获”字段也是一个好主意,因为 @David 链接到。
    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2019-02-15
    • 1970-01-01
    相关资源
    最近更新 更多