我从MySql导入数据。
以下是schema.xml中的相关字段:
<field name="solr_body" type="text_general" indexed="true" stored="true"
multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
这是solrconfig.xml中的配置:
<searchComponent name="tvComponent" class="solr.TermVectorComponent"/>
<requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="df">text</str>
<bool name="tv">true</bool>
</lst>
<arr name="last-components">
<str>tvComponent</str>
</arr>
</requestHandler>
当我按照{{3}提交网址http:// localhost:8983 / solr / select /?qt = tvrh&amp; q = solr_body:[ + TO + ]&amp; fl = id教程,我得到通常的结果,没有条款。架构更改后,我删除了旧索引并再次索引。我错过了什么请帮助。
编辑:schema.xml中的字段类型:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt"
ignoreCase="true" expand="false"/>
-->
<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" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
答案 0 :(得分:1)
在“/ tvrh”处理程序
中添加以下默认参数<str name="terms.fl">text</str>
df param默认情况下由“/ select”处理程序使用,而不是由Terms组件使用。 如果您使用solr 4.X或更高版本,则默认情况下会配置术语组件。