2013-05-10 107 views
0

我正在使用Solr構面搜索數據庫的一列。它成功返回數據:Solr構面搜索 - 拼寫檢查

<lst name="facet_counts"> 
    <lst name="facet_queries"/> 
    <lst name="facet_fields"> 
    <lst name="tags"> 
     <int name="lol">58</int> 
     <int name="scienc">58</int> 
     <int name="photo">34</int> 
     <int name="axiom">27</int> 
     <int name="geniu">14</int> 
    </lst> 
    </lst> 
    <lst name="facet_dates"/> 
    <lst name="facet_ranges"/> 
</lst> 

我想確保只有完整的單詞被計算在內。在上面的例子中,你可以看到「科學」和「天才」的'科學家'和'秀才'。我怎樣才能做到這一點?我可以結合拼寫檢查功能嗎?

回答

0

這可能與您已與標籤字段關聯的潛在fieldType有關。字段值最有可能被阻止或與其他分析器相關聯。我會建議以下兩件事之一:

  1. 刪除詞幹和/或其他處理,以防止詞出現部分。
  2. (推薦)在您的schema.xml中創建一個單獨的字段tags_facetfieldType="string",並使用copyField指令將值feed複製到原始tags字段中。然後面向這個新的tags_face t字段。
0

使用Solr的copyField功能將原始字段複製到字符串爲fieldType的字段。如果這些值是一組單詞,而不是字符串,則可以使用空格標記的字段類型(當然不含ngram)。