Solr:在一个字段上执行词干并获得最频繁的词干词汇的排序列表

时间:2014-11-17 19:30:04

标签: solr4 stemming word-frequency solr-cell

是否有一种方法可以在索引时使用词干在字段上进行词干分析,然后在查询时按原始出现频率检索词干词的排序列表。

例如,假设我的“文本”字段包含文档的内容,并且只包含以下单词:

步行走路走动了跑步。

我想在这个字段上使用词干来获得基本形式,这些形式按其原始单词的出现排序,即

步行 跑 移动

我的理解是,solr使用词干来减少步行,走路和走路到一个基本形式的步行,然后将其存储在索引中。我对检索计数感兴趣,但只对单词列表感兴趣。 solr会在索引时跟踪这样的字数吗?这是我的配置:

我的 schema.xml 包含文本字段:

<field name="text" type="text_general" indexed="true" stored="true" multiValued="true" />

字段类型'text_general'定义为:

<fieldType class="solr.TextField" name="text_general" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
    <filter class="solr.PorterStemFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
    <filter class="solr.SynonymFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

感谢您的帮助。

0 个答案:

没有答案