我想在solr上搜索一个字段,在编写之前我搜索了很多,我的问题是我将fieldType名称块添加到我的schema.xml中,但是当我尝试定义一个字段时,solr给了我一些错误,这是我的fieldType代码,
<fieldType name="text_general_edge_ngram" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
</analyzer>
</fieldType>
这些是我尝试添加到schema.xml的字段
<field name="name" type="edge_ngram" indexed="true" stored="true"/>
<field name="name" type="edgengram" indexed="true" stored="true"/>
<field name="name" type="ngram" indexed="true" stored="true"/>
<field name="name" type="text_general_edge_ngram" indexed="true" stored="true"/>
我是新手解决任何帮助都会很棒,谢谢。
答案 0 :(得分:0)
重新阅读你的问题后,我看到了问题。您不能拥有四个具有相同名称的字段。如果您确实需要上面定义的所有四个字段,我会将它们更改为以下字段:
<field name="name1" type="edge_ngram" indexed="true" stored="true"/>
<field name="name2" type="edgengram" indexed="true" stored="true"/>
<field name="name3" type="ngram" indexed="true" stored="true"/>
<field name="name4" type="text_general_edge_ngram" indexed="true" stored="true"/>
架构文件中字段的实际名称必须是唯一的。