Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/XWikiDocumentQueue.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/XWikiDocumentQueue.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/XWikiDocumentQueue.java (copie de travail) @@ -47,7 +47,7 @@ public synchronized void add(IndexData data) { - final String key = data.toString(); + final String key = data.getId(); if (!documentsByName.containsKey(key)) { // document with this name not yet in Queue, so add it namesQueue.add(key); Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java (copie de travail) @@ -55,9 +55,13 @@ */ public String getType() { - return LucenePlugin.DOCTYPE_WIKIPAGE; + return LucenePlugin.DOCTYPE_OBJECTS; } + public String getId() { + return new StringBuffer(super.getId()).append(".objects").toString(); + } + /** * @return a string containing the result of {@link IndexData#getFullText(XWikiDocument,XWikiContext)}plus * the full text content (values of title,category,content and extract ) Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/AttachmentData.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/AttachmentData.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/AttachmentData.java (copie de travail) @@ -126,7 +126,7 @@ */ public String getId() { - return new StringBuffer(super.getId()).append(".").append(filename).toString(); + return new StringBuffer(super.getId()).append(".file.").append(filename).toString(); } /** Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java (copie de travail) @@ -32,6 +32,8 @@ */ public class SearchResult { + private String id; + private float score; private String name; @@ -69,6 +71,7 @@ com.xpn.xwiki.api.XWiki xwiki) { this.score = score; + id = doc.get(IndexFields.DOCUMENT_ID); name = doc.get(IndexFields.DOCUMENT_NAME); web = doc.get(IndexFields.DOCUMENT_WEB); wiki = doc.get(IndexFields.DOCUMENT_WIKI); @@ -95,6 +98,13 @@ } /** + * @return the document id as indexed + */ + public String getId() { + return id; + } + + /** * @return Returns the name of the user who last modified the document. */ public String getAuthor() @@ -201,6 +211,8 @@ public boolean isWikiContent() { return (LucenePlugin.DOCTYPE_WIKIPAGE.equals(type) || - LucenePlugin.DOCTYPE_ATTACHMENT.equals(type)); + LucenePlugin.DOCTYPE_ATTACHMENT.equals(type) || + LucenePlugin.DOCTYPE_OBJECTS.equals(type)); } + } Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePlugin.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePlugin.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/LucenePlugin.java (copie de travail) @@ -46,6 +46,8 @@ { public static final String DOCTYPE_WIKIPAGE = "wikipage"; + public static final String DOCTYPE_OBJECTS = "objects"; + public static final String DOCTYPE_ATTACHMENT = "attachment"; private static final Logger LOG = Logger.getLogger(LucenePlugin.class); Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexUpdater.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexUpdater.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexUpdater.java (copie de travail) @@ -470,4 +470,5 @@ { return queue.getSize(); } + } Index: core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java =================================================================== --- core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java (révision 2361) +++ core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java (copie de travail) @@ -60,8 +60,9 @@ public static final String DOCUMENT_LANGUAGE = "lang"; /** - * Type of a document, "attachment" or "wikipage", used to control presentation of - * searchresults. See {@link SearchResult}and xdocs/searchResult.vm. + * Type of a document, "attachment", "wikipage" or "objects", used to + * control presentation of searchresults. + * See {@link SearchResult}and xdocs/searchResult.vm. */ public static final String DOCUMENT_TYPE = "type";