2012-11-02 3 views
0

solr에서 필드를 검색하려고하는데 필자는이 필드를 작성하기 전에 많은 검색을했습니다. 내 문제는 fieldType 이름 블록을 내 schema.xml에 추가하는 것이지만 필드, SOLR 나에게 몇 가지 오류를 제공,이 내 fieldType 코드,solr에 text_general_edge_ngram 필드를 생성 할 수 없습니다.

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

이며, 사람들은 내가 어떤 도움을 SOLR하는 초보자입니다

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

의 schema.xml에 내가 추가하려고하고있는 분야이다 잘 될거야, 고마워.

+0

당신은 어떤 Solr을 사용하고 있습니까? 4.0? 3.6? – JnBrymn

+0

보고있는 오류를 질문에 추가 할 수 있습니까? 또한 Solr을 실행중인 컨테이너의 로그를 검사하여 추가 세부 정보를 제공하는지 확인 했습니까? –

+0

solr을 사용하고 있습니다. – user1794257

답변

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

스키마 파일의 필드의 실제 이름은 고유해야합니다.

+0

아니, 나는 그들 모두를 시도했지만 뜻 :)하지만 당신의 답변을 주셔서 감사합니다 :) – user1794257

관련 문제