2012-08-06 69 views
0

有没有人能够获得solr索引的liferay url索引? (通过url我只是指可以托管portlet的liferay页面。)Liferay的URL字段没有被索引到索引中

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

有什么建议吗? (我们的portlet将被打Solr的服务器直接去取结果)

我试着用URL文本,索引=真实和存储=真实 串,索引=真实和存储=真

回答

0

在Liferay的网页/由布局对象构造的URL。据我所知,我没有看到布局对象被首先索引。

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

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

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

click here

要了解如何添加自定义搜索功能。

+0

好吧,所以不知道这个特定的URL字段应该包含什么? – 2012-08-06 11:46:39

+0

我想你是指SOLR网址字段。这与Liferay页面URL不同。无论Liferay如何,每个solr索引都会有这个URL字段。 – Sharana 2012-08-06 15:43:06

+0

我检查了书签,Wiki等Indexer.java类。我发现页面URL被索引为Field.url本身。所以这个网址肯定会去某个地方? (索引?) – 2012-08-07 04:56:38

0

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

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

  • 创建要索引每个页面的WebContent。 Web内容名称和内容应包含页面名称
  • 确保没有设置WebContent显示页面。
  • 在WebContent添加到页面(底部)
  • 更改颜色在WebContent文本的背景颜色(使其不可见)的外观&感觉菜单
  • 确保搜索门户被配置为“在上下文中显示”
  • 搜索页面名称aka WebContent Name。您的输入将位于搜索结果的顶部。如果未将WebContent的排名设置得更高...