在Solr层次结构中,有没有办法使用除«/»之外的其他字符来分隔分层构面路径字段中的节点?

时间:2014-02-10 21:01:38

标签: solr configuration typo3 typoscript typo3-6.1.x

我需要你的帮助。

我正在关于数学的Typo3网站上工作,我们使用:

  • 提供搜索引擎的Solr服务器。
  • Typo3 Solr扩展,用于提供Typo3 CMS与Sorr服务器之间的连接。

我们已经对在树中组织的对象编制索引,并且我们使用此树为搜索提供分层构面表示。为此,我们以编程方式生成并维护Solr使用的路径字符串。

但不幸的是我们碰巧在某些索引对象标题中有斜杠«/»(例如那些涉及分数的标题),并且在基于这些标题渲染层次结构时导致不可预测的结果,因为Solr将斜杠解释为一个子节点。

我们不能使用HTML授权和取消授权,因为我们会放弃名称上的搜索功能,除非我们管理特殊字符的编码和重新编码,我们没时间做。

我的问题很简单:

有没有办法为分层构面路径配置分隔符char?例如,在typoScript中,一个简洁的简单配置键:

plugin.tx_solr.index.fieldProcessingInstruction.separator = @@@  #<--Whatever...

我很高兴不再需要在Typo3 Solr扩展源代码中再次潜水以修复我的网站!

感谢任何人的任何线索。

1 个答案:

答案 0 :(得分:0)

好的,在尝试在schema.xml和general_schema _ * .xml文件中配置它之后,我去了Typo3 Solr扩展的源代码,这是我可怕的沉睡的balrog。

5个分散的类文件中似乎指定了分隔符硬编码

  • class.tx_solr_facet_hierarchicalfacetrenderer.php
  • class.tx_solr_fieldprocessor_pathtohierarchy.php
  • class.tx_solr_facet_hierarchicalfacethelper.php
  • class.tx_solr_fieldprocessor_pageuidtohierarchy.php
  • class.tx_solr_query_filterencoder_hierarchy.php

我所做的就是在这些文件中替换它(指向一个独特的公共静态常量,duh)并向我的主管道歉,因为他们花了很长时间来纠正这么简单和愚蠢的错误,现在一切正常!