Merged V3.1 to HEAD

13700: ETHREEOH-1724 - Site finder does not search site names

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13708 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-03-23 09:52:17 +00:00
parent 384f4abdf9
commit 886f0295b3
3 changed files with 48 additions and 4 deletions

View File

@@ -572,19 +572,35 @@ public class SiteServiceImpl implements SiteService, SiteModel
NodeRef siteRoot = getSiteRoot();
if (nameFilter != null && nameFilter.length() != 0)
{
// Perform a Lucene search under the Site parent node using *name* search query
QueryParameterDefinition[] params = new QueryParameterDefinition[1];
// Perform a Lucene search under the Site parent node using *name*, *title* and *description* search query
QueryParameterDefinition[] params = new QueryParameterDefinition[3];
params[0] = new QueryParameterDefImpl(
ContentModel.PROP_NAME,
dictionaryService.getDataType(
DataTypeDefinition.TEXT),
true,
LuceneQueryParser.escape(nameFilter.replace('"', ' ')));
params[1] = new QueryParameterDefImpl(
ContentModel.PROP_TITLE,
dictionaryService.getDataType(
DataTypeDefinition.TEXT),
true,
QueryParser.escape(nameFilter.replace('"', ' ')));
params[2] = new QueryParameterDefImpl(
ContentModel.PROP_DESCRIPTION,
dictionaryService.getDataType(
DataTypeDefinition.TEXT),
true,
QueryParser.escape(nameFilter.replace('"', ' ')));
// get the sites that match the specified names
StringBuilder query = new StringBuilder(128);
query.append("+PARENT:\"").append(siteRoot.toString())
.append("\" +@cm\\:name:\"*${cm:name}*\"");
.append("\" +(@cm\\:name:\"*${cm:name}*\"")
.append(" @cm\\:title:\"*${cm:title}*\"")
.append(" @cm\\:description:\"*${cm:description}*\")");
ResultSet results = this.searchService.query(
siteRoot.getStoreRef(),
SearchService.LANGUAGE_LUCENE,