【问题标题】:Liferay's URL field not getting indexed in SolrLiferay 的 URL 字段没有在 Solr 中被索引
【发布时间】:2012-08-03 03:36:17
【问题描述】:

有没有人能够在 solr 中获取 liferay url 的索引? (通过 url,我只是指可能托管 portlet/s 的 liferay 页面。)

虽然该字段是在架构中定义的,但我在 solr 查询响应中看不到值! 实际上,响应中永远不会返回 url 字段。

有什么建议吗? (我们的 portlet 将直接访问 solr 服务器来获取结果)

我尝试使用 url 作为文本,indexed=true 和 stored=true 和 字符串,indexed=true,stored=true

【问题讨论】:

    标签: solr liferay


    【解决方案1】:

    在由 Layout 对象构建的 Liferay 页面/url 中。据我所知,我没有看到 Layout 对象首先被索引。

    如果你想索引布局对象,你可以考虑写一个钩子。在添加/更新布局时,您可以在布局对象上创建索引。

    例如:您可以参考 BookMarks portlet,在那里您可以看到如何索引书签。

    Indexer indexer = IndexerRegistryUtil.getIndexer(
    BookmarksEntry.class);
    indexer.reindex(entry);
    

    click here

    查看如何添加自定义搜索功能。

    【讨论】:

    • 好的,知道这个特定的 URL 字段应该包含什么吗?
    • 我认为您指的是 SOLR url 字段。这与 Liferay 页面 URL 不同。无论 Liferay 是什么,每个 solr 索引都会有这个 URL 字段。
    • 我检查了 Indexer.java 类的书签、Wiki 等。我看到页面 URL 被索引为 Field.url 本身。所以 URL 肯定会去某个地方? (索引?)
    • 您是否也可以通过创建 Wiki 或书签进行检查,然后查看 SOLR 索引的 URL 字段中可能包含哪些内容?如果正在存储 liferay 页面 url,那么您可能必须选择该选项(向 portlet 提供自定义搜索功能。)
    【解决方案2】:

    Liferay 中不会自动索引页面或菜单结构。

    无需编程的简单解决方法:

    • 为要索引的每个页面创建一个 WebContent。网页内容名称和内容应包含页面名称
    • 确保未设置 WebContent 显示页面。
    • 将 WebContent 添加到页面(在底部)
    • 在 Look&Feel 菜单中将 WebContent 文本的颜色更改为背景颜色(使其不可见)
    • 确保将搜索 portlet 配置为“在上下文中显示”
    • 搜索页面名称,即 WebContent 名称。您的条目将位于搜索结果的顶部。 If Not 将 WebContent 的 Ranking 设置得更高...

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 2013-08-14
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      相关资源
      最近更新 更多