gpt4 book ai didi

java - alfresco buildonly 索引器,用于搜索动态创建的属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:29 26 4
gpt4 key购买 nike

我使用的是最新版的alfresco 5.1版本。我的要求之一是创建属性(键/值),用户可以在其中输入键和值。

所以我是这样做的

    Map<QName, Serializable> props = new HashMap<QName, Serializable>();
props.put(QName.createQName("customProp1"), "prop1");
props.put(QName.createQName("customProp2"), "prop2");
ChildAssociationRef associationRef = nodeService.createNode(nodeService.getRootNode(storeRef), ContentModel.ASSOC_CHILDREN, QName.createQName(GUID.generate()), ContentModel.TYPE_CMOBJECT, props);

现在我要做的是搜索具有这些新创建的属性的节点。我能够像这样搜索新创建的属性。

public List<NodeRef> findNodes() throws Exception {
authenticate("admin", "admin");
StoreRef storeRef = new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore");
List<NodeRef> nodeList = null;
Map<QName, Serializable> props = new HashMap<QName, Serializable>();
props.put(QName.createQName("customProp1"), "prop1");
props.put(QName.createQName("customProp2"), "prop2");
ChildAssociationRef associationRef = nodeService.createNode(nodeService.getRootNode(storeRef), ContentModel.ASSOC_CHILDREN, QName.createQName(GUID.generate()), ContentModel.TYPE_CMOBJECT, props);
NodeRef nodeRef = associationRef.getChildRef();
String query = "@cm\\:customProp1:\"prop1\"";
SearchParameters sp = new SearchParameters();
sp.addStore(storeRef);
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.setQuery(query);
try {
ResultSet results = serviceRegistry.getSearchService().query(sp);
nodeList = new ArrayList<NodeRef>();
for (ResultSetRow row : results) {
nodeList.add(row.getNodeRef());
System.out.println(row.getNodeRef());
}
System.out.println(nodeList.size());
} catch (Exception e) {
e.printStackTrace();
}
return nodeList;
}

alfresco-global.properties 索引器配置是

index.subsystem.name=buildonly
index.recovery.mode=AUTO
dir.keystore=${dir.root}/keystore

现在我的问题是

是否可以使用 solr4 索引器实现相同的目的?或者有什么方法可以为特定查询使用 buildonly 索引器吗?

最佳答案

在您的查询中字符串查询 = "@cm\\:customProp1:\"prop1\"";在动态构建 QName 时删除 cm,这样它就不会属于 cm,即 (ContentModel) 属性。所以你的查询将是

String query = "@\\:customProp1:\"prop1\"";

希望这对你有用

关于java - alfresco buildonly 索引器,用于搜索动态创建的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com