尝试通过 java 检索灵活搜索的列标题



我目前正在尝试检索使用 java 灵活搜索中使用的列标题。但是,我在 hybris 中找不到任何方法来做到这一点。

以下是我处理灵活搜索的方法:

private List<List<Object>> processFlexibleQuery(final String flexibleQuery, final List<String> paramValues, final List<String> paramNames, final int headersCount) 
    {
        final Map<String, Object> params = new HashMap<>();
        final FlexibleSearchQuery query = new FlexibleSearchQuery(flexibleQuery);
        final Class[] resultTypesArray = new Class[headersCount];
        for (int i = 0; i < headersCount; i++)
        {
            resultTypesArray[i] = String.class;
        }           
        query.setResultClassList(Arrays.asList(resultTypesArray));
        if (paramValues.size() > 0 && paramNames.size() == paramValues.size())
        {
            for (int i = 0; i < paramValues.size(); i++)
            {
                params.put(paramNames.get(i).trim(), paramValues.get(i).trim());
            }
        }
        query.addQueryParameters(params);
        final SearchResult<List<Object>> result = flexibleSearchService.search(query);
        final List<List<Object>> productList = result.getResult();
       return productList;
    }

我的方法工作正常。我已经查找了hybris提供的几个类,将灵活搜索的列标题放在列表中,但我找不到任何方法。基本上,如果我在我的方法中处理这个 FS:

SELECT {p.code} as potato,
       {p.name} as name
FROM {product as p}

我想在列表中包含"土豆"和"名称"。我不想使用"as"直接解析查询,因为如果灵活搜索中有子查询,这将出错。知道吗?

这个功能已经由hac完成,所以必须有解决方案。我没有确切的解决方案,但我可以共享具有类似功能的工具。您可以检查他们的源代码以找到自己的方式。

  1. hybris 工具 GUI 铬扩展
  2. hybris 灵活搜索命令行工具源代码

当我搜索网址时,我为您找到了确切的观点。

相关内容

  • 没有找到相关文章

最新更新