- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 AssetEntries 实现自定义搜索 portlet。目前 AssetEntryQuery 不允许使用关键字进行搜索。我正在尝试通过 FacetedSearcher 进行搜索。按关键字搜索似乎还可以。但是当我尝试通过 AssetTagNames 进行搜索时
searchContext.setAssetTagNames(assetTagNames)
它根本不起作用。这是我的一段代码
SearchContext searchContext = new SearchContext();
Facet assetEntriesFacet = new AssetEntriesFacet(searchContext);
assetEntriesFacet.setStatic(true);
searchContext.addFacet(assetEntriesFacet);
/*MultiValueFacet multiValueFacet=new MultiValueFacet(searchContext);
multiValueFacet.setFieldName("assetTagNames");
multiValueFacet.setStatic(false);
searchContext.addFacet(multiValueFacet);*/
searchContext.setCompanyId(themeDisplay.getCompanyId());
String []assetTagNames=new String[1];
assetTagNames[0]= assetTagName;
searchContext.setAssetTagNames(assetTagNames);
searchContext.setKeywords(keywords);
String[] entryClassName = {JournalArticle.class.getName()};
searchContext.setEntryClassNames(entryClassName);
Indexer indexer = FacetedSearcher.getInstance();
// searchContext.setAndSearch(true);
Hits hits = indexer.search(searchContext);
System.out.println("Hits: " + hits.getLength());
请求的结果查询搜索关键字:key1key1 Assets 标签名称:一些标签
+(+(companyId:1) +((+(entryClassName:com.liferay.portlet.journal.model.JournalArticle) +(status:0)))) +(assetCategoryTitles:*key1key1* assetCategoryTitles_en_US:*key1key1* assetTagNames:*key1key1* comments:key1key1 content:key1key1 description:key1key1 properties:key1key1 title:key1key1 url:key1key1 userName:*key1key1* classPK:key1key1 content_en_US:key1key1 description_en_US:key1key1 entryClassPK:key1key1 title_en_US:key1key1 type:key1key1)
如您所见,AssetTag 未应用于查询。我已经尝试过设置了
searchContext.setAttribute("assetTagNames",assetTagName);
并注释了 MultiValueFacet 代码但没有结果。为了进一步,我需要按日期范围和类别进行搜索。有人知道吗?
最佳答案
幸运的是解决了这个问题。
如果您想通过标签进行搜索,您必须为此使用一个单独的方面,例如
MultiValueFacet assetTagsFacet = new MultiValueFacet(searchContext);
assetTagsFacet.setFieldName(Field.ASSET_TAG_NAMES);
searchContext.addFacet(assetTagsFacet);
同时使用 searchContext.setAttribute("assetTagNames", assetTagName);
而不是 searchContext.setAssetTagNames(assetTagName);
通过类别搜索相同的东西:
MultiValueFacet assetCategoriesFacet = new MultiValueFacet(searchContext);
assetCategoriesFacet.setFieldName("assetCategoryTitles");
searchContext.addFacet(assetCategoriesFacet);
searchContext.setAttribute("assetCategoryTitles", assetCategoryName);
我还想按 JournalArticle 的自定义类型进行搜索,我为此创建了分面,但在查询中得到了两次“类型”。作为解决方案,我在设置 entryClassName 期间使用 MultiValueFacet 而不是 AssetEntriesFacet
MultiValueFacet assetEntriesFacet = new MultiValueFacet(searchContext);
assetEntriesFacet.setFieldName("entryClassName");
searchContext.setAttribute("entryClassName",JournalArticle.class.getName());
searchContext.addFacet(assetEntriesFacet);
关于search - Liferay searchContext 按 AssetTags 和关键词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440482/
当我说这个 using (Entities db = new Entities()) { return db.TableName.AsQueryable().ToList(); } 因为返回了
它应该表现得像Delicious toolbar对于 Firefox 来说;它列出了可能要点击的标签。效果如下图: 代码应该能够找到文本的关键词。有什么好的算法或者开源项目推荐吗? 我找到了 this
我刚刚在市场上上传了我的第一个应用程序。一切顺利,看起来很好。我尝试了几个关键词来搜索它,这些词在我的描述和促销文本中也有,但有些词找不到我的应用程序,有些却找到了。 关键字策略如何在市场上的应用程序
我已经开始在我的提交消息中使用对 Maniphest 任务的引用,这对于自动关闭任务等非常有用。 我发现这个页面有很多关键词,但我很好奇是否有更多或任何关于如何使用它们的文档。 https://pha
我在 Qt 文档中遇到过这段代码: Counter a, b; QObject::connect(&a, &Counter::valueChanged, &b, &C
有人可以确认这是否确实是一个错误吗? (如果是这样,我将离开并将其提交给 Apple)。 尝试获取 kAudioSessionProperty_AudioRoute 在 4.3 之前的任何版本的模拟器
目前我正在使用它来搜索我的词典数组(来自 plist 文件): for(NSDictionary *wine in mainArray) { NSString *wineNam
我是一名优秀的程序员,十分优秀!