[opencms-dev] Filter search by date

Alessandro Magnolo alessandro.magnolo at gmail.com
Mon Oct 2 16:22:06 CEST 2006


Hello Shi,
Thank you for your help.
I did everything you said, now the question is: I do I query the updated index?
In other words, now that I have the dates in the index, how do I get
for example the documents modified today?

Best regards,
Alessandro

On 9/22/06, Shi Yusen <shiys at langhua.cn> wrote:
> Hi Alessandro,
>
> I assume what you want to search are in xmlcontent type.
>
> 1. You may write a java file extends
> org.opencms.search.documents.CmsDocumentXmlContent, override    public
> Document newInstance(CmsObject cms, A_CmsIndexResource resource, String
> language) throws CmsException {
> ...
>        /**
>         * date of creation and last modification should also affect the
> boost factor
>         * modified by Shi Yusen, shiys at langhua.cn
>         */
>        // add date of creation and last modification as keywords (for
> sorting)
>        field = new Field(I_CmsDocumentFactory.DOC_DATE_CREATED,
> DateTools.dateToString(
>            new Date(res.getDateCreated()),
>            DateTools.Resolution.MILLISECOND), Field.Store.YES, Field.Index.
> UN_TOKENIZED);
>        // field.setBoost(0);
>        document.add(field);
>        field = new Field(I_CmsDocumentFactory.DOC_DATE_LASTMODIFIED,
> DateTools.dateToString(new Date(
>            res.getDateLastModified()), DateTools.Resolution.MILLISECOND),
> Field.Store.YES, Field.Index.UN_TOKENIZED);
>        // field.setBoost(0);
>        document.add(field);
> ...
> }
>
> 2. Edit opencms-search.xml, change the xmlcontent class to yours.
>            <documenttype>
>                <name>xmlcontent</name>
>                <class>write your class here</class>
>                <mimetypes/>
>                <resourcetypes>
>                    <resourcetype>*</resourcetype>
>                </resourcetypes>
>            </documenttype>
>
> 3. Deploy your class and restart your servlet engine.
>
> Good luck,
>
> Shi Yusen/Beijing Langhua Ltd.
> --------------------------------------------------------------
> Tel: 86-10-88514088, 88514099
> Fax: 86-10-88514099
> Email: shiys at langhua.cn
> Website: http://www.langhua.cn/
> --------------------------------------------------------------
>
> -----邮件原件-----
> 发件人: opencms-dev-bounces at opencms.org [mailto:opencms-dev-bounces at opencms.
> org] 代表 Alessandro Magnolo
> 发送时间: 2006年9月22日 21:11
> 收件人: The OpenCms mailing list
> 主题: [opencms-dev] Filter search by date
>
> I need to be able to search for documents created/modified in a
> certain date range.
> I found many hints on the subject in this mailing list, but I'm still
> unable perform a working search.
>
> Here are my findings so far:
>
> * org.opencms.search.CmsSearch javadoc states that "the following
> fields are available for searching: [...] created, lastmodified
> [...]". I included the fields in a jsp search query, but wasn't able
> to make them work. What is the syntax to be used to specify a time
> range?
> I tried for example with lucene syntax "created:[20050422 TO
> 20060922]" and variations, but they don't work.
>
> * using Luke to browse the opencms lucene indexes, I found that the
> "created" and "lastmodified" fields are indeed indexed. Strangely,
> even a query performed in Luke on these fields, with known matches,
> returns nothing (I tried for example
> "lastmodified:20060612141001000").
>
> So, anybody knows how to find results in a date range?
>
> Thank you,
> Alessandro Magnolo
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
>
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
>


More information about the opencms-dev mailing list