2013-04-24 106 views
1

的搜索結果我已經創建了一個新的敏捷類型,並且類型運行良好,並且標題在Plone搜索結果中很好地顯示出來。不過,我需要索引其餘的字段。Plone敏捷類型

繼敏捷手冊後,我創建了一個@indexer和目錄,我可以在portal_catalog中看到「varenummer」索引填充了正確的列數據。

我的問題是,雖然我不能在plone搜索字段中搜索「Varenummer」。

任何想法?

我有以下模式中vare.py

class IVare(form.Schema): 
    """Leverandør type, som kan oprettes alle steder. 
    """ 

    title = schema.TextLine(
      title=_(u"Varenavn"), 
     ) 

    varenummer = schema.TextLine(
      title=_(u"Varenummer"), 
     ) 

    stoerrelse = schema.TextLine(
      title=_(u"Størrelse"), 
     ) 

    enhed = schema.TextLine(
      title=_(u"Enhed"), 
     ) 

    pris = schema.TextLine(
      title=_(u"Pris"), 
     ) 

@indexer(IVare) 
def varenummerIndexer(obj): 
    """Create a catalogue indexer, registered as an adapter, which can 
    populate the ``start`` index with the film's start date. 
    """ 
    return obj.varenummer 
grok.global_adapter(varenummerIndexer, name="varenummer") 

成立的catalog.xml我已經定義:

<?xml version="1.0"?> 
<object name="portal_catalog" meta_type="Plone Catalog Tool"> 
    <index name="varenummer" meta_type="FieldIndex"> 
     <indexed_attr value="varenummer"/> 
    </index> 
    <column value="varenummer"/> 
</object> 

回答

1

Plone的搜索字段中只使用SearchableText指數。

這是一個全文索引,大多數類型填充應包含在結果中的所有字段的連接結果(字符串)。

有一個collective.dexteritytextindexer package可以更容易地爲SearchableText填充靈巧類型索引。

從包中添加行爲的類型:

<property name="behaviors"> 
    <element value="collective.dexteritytextindexer.behavior.IDexterityTextIndexer" /> 
</property> 

然後標記您的varenummer字段作爲索引的一部分:

from collective import dexteritytextindexer 


class IVare(form.Schema): 
    """Leverandør type, som kan oprettes alle steder. 
    """ 

    dexteritytextindexer.searchable('varenummer') 
    varenummer = schema.TextLine(
      title=_(u"Varenummer"), 
     ) 
+0

我與collective.dexterityindexer遇到的問題是,它不從我的類型索引標題。 – 2013-04-24 14:49:21

+0

@PeterB:你沒有使用標題的默認行爲;將另一個'dexteritytextindexer.searchable('title')'行添加到'IVare'定義中。 – 2013-04-24 15:28:18

+0

啊把兩篇文章混在一起 - 這就是爲什麼我沒有得到標題索引。 我的印象是,collective.dexterityindexer沒有與標題一起工作 - 因此我甚至沒有對它進行測試。它運行良好 – 2013-04-24 16:19:46