1

我需要你的帮助。

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

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

我们有索引对象,这些对象组织在树中,我们使用这棵树来提供用于搜索的分层构面表示。为此,我们以编程方式生成和维护 Solr 使用的路径字符串。

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

我们不能使用 HTML 实体化和去实体化,因为我们会失去名称上的搜索功能,除非我们在所有地方管理特殊字符的编码和重新编码,我们确实没有时间去做。

我的问题很简单:

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

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

我很高兴不必再深入 Typo3 Solr 扩展源代码来修复我的网站!

感谢任何人提供任何线索。

4

1 回答 1

0

好的,在尝试在 schema.xml 和 general_schema_*.xml 文件中配置它浪费了一些时间之后,我去了 Typo3 Solr 扩展的源代码,我的老可怕的睡眠炎魔。

似乎分隔符在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)并向我的主管道歉,因为花了这么长时间来纠正一个如此简单和愚蠢的错误,现在一切正常!

于 2014-02-11T21:33:41.423 回答