2013-02-21 86 views
0

我的solr安裝只提示單詞的存根,而不是完整的單詞。solr不建議完整的單詞

如果我搜索導線我得到的結果類似:

<int name="conductor">68</int> 
<int name="symphoni">51</int> 
<int name="no.">46</int> 
<int name="rattl">28</int> 

我想什麼都將是:

  • 交響樂代替syphoni
  • 撥浪鼓(西蒙·拉特爾,一導體)而不是rattl

等等。

完整生成的查詢是:

select?fl=abstract&facet=true&facet.field=abstract&facetlimit=8&facet.mincount=1&omitHeader=true&qf=content%5E40.0+title%5E5.0+keywords%5E2.0+tagsH1%5E5.0+tagsH2H3%5E3.0+tagsH4H5H6%5E2.0+tagsInline&json.nl=map&q=conductor&start=0&rows=5 

我用TYPO3這樣的配置XML可以在這裏找到:

https://github.com/subugoe/typo3-solr/blob/master/resources/solr/typo3cores/conf/solrconfig.xml

和架構可以在這裏找到:

https://github.com/subugoe/typo3-solr/blob/master/resources/solr/typo3cores/conf/english/schema.xml

回答

1

你在您的模式中只有兩種字段類型,並且都使用SnowballPorterFilterFactory進行填充。您可以使用copy field,這不會阻止並使用該字段獲取完整的單詞而不是詞幹。

1

阿倫是正確的,這個問題是因爲您正在檢索由索引分析器阻止的字段的構面。我查看了TYPO3提供的其他fieldType定義,textSpell fieldType看起來很有前景。

我建議加入以下的general_schema_fields.xml文件..

<field name="abstract_facet" type="textSpell" indexed="true" stored="true" /> 
<copyfield source="abstract" dest="abstract_facet" /> 

您將需要重新索引您的數據,這些更改生效,然後你可以運行下面的查詢,應提供您有更好的結果。

select?fl=abstract&facet=true&facet.field=abstract_facet&facetlimit=8&facet.mincount=1 
    &omitHeader=true&qf=content%5E40.0+title%5E5.0+keywords%5E2.0+tagsH1%5E5.0 
    +tagsH2H3%5E3.0+tagsH4H5H6%5E2.0+tagsInline 
    &json.nl=map&q=conductor&start=0&rows=5 

如果這並不能完全滿足您的需求,我建議就如何值被處理並存儲在索引檢查出Solr Wiki - Analyzers, Tokenizers and Token Filters獲得更多指導。最終,您可能希望創建一個完全獨立的fieldType以用於分面。

+0

好的。謝謝。我已經翻譯了這個例子(原文是德文),但我確實有兩種語言。我是否需要兩個solr核心,還是這個問題與此無關? – shredding 2013-02-24 16:26:57

+1

我不確定我可以爲你解答。這取決於將兩種語言存儲在相同字段中是否適合您的用例。 – 2013-02-25 01:21:04

+0

我現在已經測試了一切,但現在所產生的方面只是空的:( – shredding 2013-03-07 11:14:45