Author: vmassol
Date: 2008-02-13 11:28:34 +0100 (Wed, 13 Feb 2008)
New Revision: 7567
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/DocumentData.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexData.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java
Log:
XWIKI-2109: Can't search page titles with the Lucene plugin
Patch submitted by Petteri Karttunen
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/DocumentData.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/DocumentData.java
2008-02-13 10:26:58 UTC (rev 7566)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/DocumentData.java
2008-02-13 10:28:34 UTC (rev 7567)
@@ -56,6 +56,8 @@
{
StringBuffer text = new StringBuffer(super.getFullText(doc, context));
text.append(" ");
+ text.append(super.getDocumentTitle());
+ text.append(" ");
text.append(doc.getContent());
return text.toString();
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexData.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexData.java
2008-02-13 10:26:58 UTC (rev 7566)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexData.java
2008-02-13 10:28:34 UTC (rev 7567)
@@ -38,6 +38,8 @@
{
private static final Log LOG = LogFactory.getLog(IndexData.class);
+ private String documentTitle;
+
private String documentName;
private String documentWeb;
@@ -61,7 +63,8 @@
public IndexData(final XWikiDocument doc, final XWikiContext context)
{
- setDocumentName(doc.getName());
+ setDocumentName(doc.getName());
+ setDocumentTitle(doc.getDisplayTitle(context));
setDocumentWeb(doc.getSpace());
setWiki(doc.getDatabase() == null ? context.getDatabase() :
doc.getDatabase());
setFullName(new
StringBuffer(wiki).append(":").append(documentWeb).append(".")
@@ -115,6 +118,10 @@
}
// stored Text fields: tokenized and indexed
+ if (documentTitle != null) {
+ luceneDoc.add(new Field(IndexFields.DOCUMENT_TITLE, documentTitle,
Field.Store.YES,
+ Field.Index.TOKENIZED));
+ }
luceneDoc.add(new Field(IndexFields.DOCUMENT_NAME, documentName,
Field.Store.YES,
Field.Index.TOKENIZED));
luceneDoc.add(new Field(IndexFields.DOCUMENT_WEB, documentWeb,
Field.Store.YES,
@@ -195,6 +202,14 @@
}
/**
+ * @param documentTitle the document title
+ */
+ public void setDocumentTitle(String documentTitle)
+ {
+ this.documentTitle = documentTitle;
+ }
+
+ /**
* @param documentName The documentName to set.
*/
public void setDocumentName(String documentName)
@@ -218,6 +233,11 @@
this.modificationDate = modificationDate;
}
+ public String getDocumentTitle()
+ {
+ return documentTitle;
+ }
+
public String getDocumentName()
{
return documentName;
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java
2008-02-13 10:26:58 UTC (rev 7566)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/IndexFields.java
2008-02-13 10:28:34 UTC (rev 7567)
@@ -46,6 +46,11 @@
public static final String DOCUMENT_WIKI = "wiki";
/**
+ * Title of the document
+ */
+ public static final String DOCUMENT_TITLE = "title";
+
+ /**
* Name of the document
*/
public static final String DOCUMENT_NAME = "name";
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java
2008-02-13 10:26:58 UTC (rev 7566)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/lucene/SearchResult.java
2008-02-13 10:28:34 UTC (rev 7567)
@@ -37,6 +37,8 @@
private float score;
+ private String title;
+
private String name;
private String wiki;
@@ -73,6 +75,7 @@
{
this.score = score;
id = doc.get(IndexFields.DOCUMENT_ID);
+ title = doc.get(IndexFields.DOCUMENT_TITLE);
name = doc.get(IndexFields.DOCUMENT_NAME);
web = doc.get(IndexFields.DOCUMENT_WEB);
wiki = doc.get(IndexFields.DOCUMENT_WIKI);
@@ -130,6 +133,14 @@
}
/**
+ * @return the title of the document.
+ */
+ public String getTitle()
+ {
+ return title;
+ }
+
+ /**
* @return Returns the name of the document.
*/
public String getName()
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications