【问题标题】:I cannot create text_general_edge_ngram field on solr我无法在 solr 上创建 text_general_edge_ngram 字段
【发布时间】:2012-11-02 23:54:16
【问题描述】:

我想在 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"/>

我是新手,任何帮助都会很棒,谢谢。

【问题讨论】:

  • 您使用的是什么 Solr? 4.0? 3.6?
  • 您能否将您看到的错误添加到问题中。您是否还检查了您在其中运行 Solr 的容器的日志以查看它们是否提供任何其他详细信息?
  • 我收到错误,因为我找不到确切的字段名称,所以您知道字段名称的名称吗?谢谢你:)

标签: tomcat solr tokenize


【解决方案1】:

重新阅读您的问题后,我发现了问题。您不能有四个字段都具有相同的名称。如果您真的需要上面定义的所有四个字段,我会将它们更改为以下内容:

 <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"/>

架构文件中字段的实际名称必须是唯一的。

【讨论】:

  • 不,我的意思是我都试过了 :) 但谢谢你的回答 :)
猜你喜欢
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
相关资源
最近更新 更多