mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Build fix
1) for tokenisation = false 2) so d:datetime properties index as expected git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@12444 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -29,9 +29,19 @@
|
||||
</property>
|
||||
<property name="ia:fromDate">
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="ia:toDate">
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="ia:whereEvent">
|
||||
<type>d:text</type>
|
||||
@@ -54,9 +64,19 @@
|
||||
</property>
|
||||
<property name="ia:fromDateDefault">
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="ia:toDateDefault">
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="ia:whereEventDefault">
|
||||
<type>d:text</type>
|
||||
|
@@ -404,6 +404,11 @@
|
||||
<type>d:datetime</type>
|
||||
<protected>true</protected>
|
||||
<mandatory enforced="true">true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="cm:creator">
|
||||
<title>Creator</title>
|
||||
@@ -416,6 +421,11 @@
|
||||
<type>d:datetime</type>
|
||||
<protected>true</protected>
|
||||
<mandatory enforced="true">true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="cm:modifier">
|
||||
<title>Modifier</title>
|
||||
@@ -427,6 +437,11 @@
|
||||
<title>Accessed</title>
|
||||
<type>d:datetime</type>
|
||||
<protected>true</protected>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
@@ -490,6 +505,11 @@
|
||||
<property name="cm:removeAfter">
|
||||
<title>Remove After</title>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
<mandatory-aspects>
|
||||
@@ -650,10 +670,20 @@
|
||||
<property name="cm:from">
|
||||
<title>Effective From</title>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="cm:to">
|
||||
<title>Effective To</title>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
@@ -862,6 +892,11 @@
|
||||
<property name="cm:sentdate">
|
||||
<title>Sent Date</title>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
@@ -949,10 +984,20 @@
|
||||
<property name="cm:published">
|
||||
<title>Published</title>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="cm:updated">
|
||||
<title>Updated</title>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
@@ -160,6 +160,11 @@
|
||||
<property name="sys:archivedDate">
|
||||
<type>d:datetime</type>
|
||||
<mandatory>true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="sys:archivedOriginalOwner">
|
||||
<type>d:text</type>
|
||||
|
@@ -396,6 +396,11 @@
|
||||
<title>Time Of Deploy Attempt</title>
|
||||
<type>d:datetime</type>
|
||||
<mandatory enforced="true">true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
<associations>
|
||||
@@ -431,11 +436,21 @@
|
||||
<title>Time Deploy Started</title>
|
||||
<type>d:datetime</type>
|
||||
<mandatory enforced="true">true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="wca:deployendtime">
|
||||
<title>Time Deploy Finished</title>
|
||||
<type>d:datetime</type>
|
||||
<mandatory enforced="true">true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="wca:deploysuccessful">
|
||||
<title>Deployment Successful</title>
|
||||
@@ -624,6 +639,11 @@
|
||||
<title>Expiration Date</title>
|
||||
<type>d:datetime</type>
|
||||
<mandatory enforced="true">true</mandatory>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
@@ -238,6 +238,11 @@
|
||||
<title>Launch Date</title>
|
||||
<description>Date the content in the submission should be committed</description>
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="wcmwf:validateLinks">
|
||||
<title>Validate Links</title>
|
||||
|
@@ -1014,6 +1014,9 @@ public class ADMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<NodeRef> imp
|
||||
{
|
||||
doc.add(new Field(attributeName + "." + localeText + ".sort", t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
|
||||
doc.add(new Field(attributeName, t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
@@ -1083,6 +1086,7 @@ public class ADMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<NodeRef> imp
|
||||
{
|
||||
locale = I18NUtil.getLocale();
|
||||
}
|
||||
|
||||
StringBuilder builder;
|
||||
MLAnalysisMode analysisMode;
|
||||
VerbatimAnalyser vba;
|
||||
@@ -1118,6 +1122,8 @@ public class ADMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<NodeRef> imp
|
||||
{
|
||||
doc.add(new Field(attributeName + "." + localeText + ".sort", t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
|
||||
doc.add(new Field(attributeName, t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
@@ -1176,7 +1182,7 @@ public class ADMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<NodeRef> imp
|
||||
try
|
||||
{
|
||||
date = df.parse(strValue);
|
||||
doc.add(new Field(attributeName + ".sort", df.format(date), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
doc.add(new Field(attributeName, df.format(date), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
catch (ParseException e)
|
||||
{
|
||||
@@ -1185,7 +1191,7 @@ public class ADMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<NodeRef> imp
|
||||
break;
|
||||
case BOTH:
|
||||
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
|
||||
|
||||
df = CachingDateFormat.getDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", true);
|
||||
try
|
||||
{
|
||||
|
@@ -54,7 +54,10 @@ import org.alfresco.repo.content.transform.ContentTransformer;
|
||||
import org.alfresco.repo.dictionary.IndexTokenisationMode;
|
||||
import org.alfresco.repo.domain.PropertyValue;
|
||||
import org.alfresco.repo.search.IndexMode;
|
||||
import org.alfresco.repo.search.MLAnalysisMode;
|
||||
import org.alfresco.repo.search.impl.lucene.analysis.DateTimeAnalyser;
|
||||
import org.alfresco.repo.search.impl.lucene.analysis.MLTokenDuplicator;
|
||||
import org.alfresco.repo.search.impl.lucene.analysis.VerbatimAnalyser;
|
||||
import org.alfresco.repo.search.impl.lucene.fts.FTSIndexerAware;
|
||||
import org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexer;
|
||||
import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
|
||||
@@ -85,6 +88,7 @@ import org.alfresco.util.ISO9075;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.lucene.analysis.Token;
|
||||
import org.apache.lucene.document.Document;
|
||||
import org.apache.lucene.document.Field;
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
@@ -739,6 +743,8 @@ public class AVMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<String> impl
|
||||
|
||||
if (isContent)
|
||||
{
|
||||
// Content is always tokenised
|
||||
|
||||
ContentData contentData = DefaultTypeConverter.INSTANCE.convert(ContentData.class, serializableValue);
|
||||
if (!index || contentData.getMimetype() == null)
|
||||
{
|
||||
@@ -815,6 +821,12 @@ public class AVMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<String> impl
|
||||
transformer.transform(reader, writer);
|
||||
// point the reader to the new-written content
|
||||
reader = writer.getReader();
|
||||
// Check that the reader is a view onto something concrete
|
||||
if (!reader.exists())
|
||||
{
|
||||
throw new ContentIOException("The transformation did not write any content, yet: \n"
|
||||
+ " transformer: " + transformer + "\n" + " temp writer: " + writer);
|
||||
}
|
||||
}
|
||||
catch (ContentIOException e)
|
||||
{
|
||||
@@ -899,9 +911,88 @@ public class AVMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<String> impl
|
||||
for (Locale locale : mlText.getLocales())
|
||||
{
|
||||
String localeString = mlText.getValue(locale);
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString);
|
||||
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
StringBuilder builder;
|
||||
MLAnalysisMode analysisMode;
|
||||
VerbatimAnalyser vba;
|
||||
MLTokenDuplicator duplicator;
|
||||
Token t;
|
||||
switch (tokenise)
|
||||
{
|
||||
case TRUE:
|
||||
builder = new StringBuilder();
|
||||
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString);
|
||||
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
break;
|
||||
case FALSE:
|
||||
// analyse ml text
|
||||
analysisMode = getLuceneConfig().getDefaultMLIndexAnalysisMode();
|
||||
// Do the analysis here
|
||||
vba = new VerbatimAnalyser(false);
|
||||
duplicator = new MLTokenDuplicator(vba.tokenStream(attributeName, new StringReader(localeString)), locale, null, analysisMode);
|
||||
try
|
||||
{
|
||||
while ((t = duplicator.next()) != null)
|
||||
{
|
||||
String localeText = "";
|
||||
if (t.termText().indexOf('{') == 0)
|
||||
{
|
||||
int end = t.termText().indexOf('}', 1);
|
||||
if (end != -1)
|
||||
{
|
||||
localeText = t.termText().substring(1, end);
|
||||
}
|
||||
}
|
||||
if (localeText.length() > 0)
|
||||
{
|
||||
doc.add(new Field(attributeName, t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
|
||||
doc.add(new Field(attributeName, t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// TODO ??
|
||||
}
|
||||
|
||||
break;
|
||||
case BOTH:
|
||||
builder = new StringBuilder();
|
||||
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString);
|
||||
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
|
||||
// analyse ml text
|
||||
analysisMode = getLuceneConfig().getDefaultMLIndexAnalysisMode();
|
||||
// Do the analysis here
|
||||
vba = new VerbatimAnalyser(false);
|
||||
duplicator = new MLTokenDuplicator(vba.tokenStream(attributeName, new StringReader(localeString)), locale, null, analysisMode);
|
||||
try
|
||||
{
|
||||
while ((t = duplicator.next()) != null)
|
||||
{
|
||||
String localeText = "";
|
||||
if (t.termText().indexOf('{') == 0)
|
||||
{
|
||||
int end = t.termText().indexOf('}', 1);
|
||||
if (end != -1)
|
||||
{
|
||||
localeText = t.termText().substring(1, end);
|
||||
}
|
||||
}
|
||||
if (localeText.length() > 0)
|
||||
{
|
||||
doc.add(new Field(attributeName + "." + localeText + ".sort", t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// TODO ??
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (isText)
|
||||
@@ -929,42 +1020,121 @@ public class AVMLuceneIndexerImpl extends AbstractLuceneIndexerImpl<String> impl
|
||||
}
|
||||
|
||||
StringBuilder builder;
|
||||
switch(tokenise)
|
||||
MLAnalysisMode analysisMode;
|
||||
VerbatimAnalyser vba;
|
||||
MLTokenDuplicator duplicator;
|
||||
Token t;
|
||||
switch (tokenise)
|
||||
{
|
||||
default:
|
||||
case TRUE:
|
||||
builder = new StringBuilder();
|
||||
builder = new StringBuilder();
|
||||
builder.append("\u0000").append(locale.toString()).append("\u0000").append(strValue);
|
||||
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
break;
|
||||
break;
|
||||
case FALSE:
|
||||
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
break;
|
||||
analysisMode = getLuceneConfig().getDefaultMLIndexAnalysisMode();
|
||||
// Do the analysis here
|
||||
vba = new VerbatimAnalyser(false);
|
||||
duplicator = new MLTokenDuplicator(vba.tokenStream(attributeName, new StringReader(strValue)), locale, null, analysisMode);
|
||||
try
|
||||
{
|
||||
while ((t = duplicator.next()) != null)
|
||||
{
|
||||
String localeText = "";
|
||||
if (t.termText().indexOf('{') == 0)
|
||||
{
|
||||
int end = t.termText().indexOf('}', 1);
|
||||
if (end != -1)
|
||||
{
|
||||
localeText = t.termText().substring(1, end);
|
||||
}
|
||||
}
|
||||
if (localeText.length() > 0)
|
||||
{
|
||||
doc.add(new Field(attributeName, t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
|
||||
doc.add(new Field(attributeName, t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// TODO ??
|
||||
}
|
||||
|
||||
break;
|
||||
case BOTH:
|
||||
builder = new StringBuilder();
|
||||
builder = new StringBuilder();
|
||||
builder.append("\u0000").append(locale.toString()).append("\u0000").append(strValue);
|
||||
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
|
||||
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
break;
|
||||
|
||||
analysisMode = getLuceneConfig().getDefaultMLIndexAnalysisMode();
|
||||
// Do the analysis here
|
||||
vba = new VerbatimAnalyser(false);
|
||||
duplicator = new MLTokenDuplicator(vba.tokenStream(attributeName, new StringReader(strValue)), locale, null, analysisMode);
|
||||
try
|
||||
{
|
||||
while ((t = duplicator.next()) != null)
|
||||
{
|
||||
String localeText = "";
|
||||
if (t.termText().indexOf('{') == 0)
|
||||
{
|
||||
int end = t.termText().indexOf('}', 1);
|
||||
if (end != -1)
|
||||
{
|
||||
localeText = t.termText().substring(1, end);
|
||||
}
|
||||
}
|
||||
if (localeText.length() > 0)
|
||||
{
|
||||
doc.add(new Field(attributeName + "." + localeText + ".sort", t.termText(), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// TODO ??
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (isDateTime)
|
||||
{
|
||||
|
||||
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
|
||||
SimpleDateFormat df = CachingDateFormat.getDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", true);
|
||||
|
||||
SimpleDateFormat df;
|
||||
Date date;
|
||||
try
|
||||
switch (tokenise)
|
||||
{
|
||||
date = df.parse(strValue);
|
||||
doc.add(new Field(attributeName + ".sort", df.format(date), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
catch (ParseException e)
|
||||
{
|
||||
// ignore for ordering
|
||||
default:
|
||||
case TRUE:
|
||||
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
break;
|
||||
case FALSE:
|
||||
df = CachingDateFormat.getDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", true);
|
||||
try
|
||||
{
|
||||
date = df.parse(strValue);
|
||||
doc.add(new Field(attributeName, df.format(date), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
catch (ParseException e)
|
||||
{
|
||||
// ignore for ordering
|
||||
}
|
||||
break;
|
||||
case BOTH:
|
||||
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
|
||||
|
||||
df = CachingDateFormat.getDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", true);
|
||||
try
|
||||
{
|
||||
date = df.parse(strValue);
|
||||
doc.add(new Field(attributeName + ".sort", df.format(date), Field.Store.NO, Field.Index.NO_NORMS, Field.TermVector.NO));
|
||||
}
|
||||
catch (ParseException e)
|
||||
{
|
||||
// ignore for ordering
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@@ -49,12 +49,22 @@
|
||||
</property>
|
||||
<property name="usr:accountExpiryDate">
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="usr:credentialsExpire">
|
||||
<type>d:boolean</type>
|
||||
</property>
|
||||
<property name="usr:credentialsExpiryDate">
|
||||
<type>d:datetime</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="usr:accountLocked">
|
||||
<type>d:boolean</type>
|
||||
|
@@ -109,6 +109,11 @@
|
||||
<title>Created</title>
|
||||
<type>d:datetime</type>
|
||||
<protected>true</protected>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="ver2:frozenCreator">
|
||||
<title>Creator</title>
|
||||
@@ -119,6 +124,11 @@
|
||||
<title>Modified</title>
|
||||
<type>d:datetime</type>
|
||||
<protected>true</protected>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
<property name="ver2:frozenModifier">
|
||||
<title>Modifier</title>
|
||||
@@ -129,6 +139,11 @@
|
||||
<title>Accessed</title>
|
||||
<type>d:datetime</type>
|
||||
<protected>true</protected>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>both</tokenised>
|
||||
</index>
|
||||
</property>
|
||||
|
||||
</properties>
|
||||
|
Reference in New Issue
Block a user