2014-06-20 6 views
1

안녕하세요, 내 응용 프로그램에 자동 완성 기능을 가져 오려고하지만 오류가 발생합니다.
sunspot-2.1.1/lib/sunspot/dsl/fields.rb:93:in rescue in method_missing': undefined method # 자동 검색 :: DSL :: Fields : 0x000001029b7cd0 (NoMethodError)
다음은 변경된 사항입니다. 도와 주셔서 감사합니다.NoMethodError : Sunspot에 대한 정의되지 않은 메소드`autocomplete '

모델

def category_name 
self.name 
end 

searchable do 
text :name 
autocomplete :category_name, :as => :name 
end 

SOLR의 schema.xml

<fieldType name="autocomplete" class="solr.TextField" positionIncrementGap="100"> 
    <!-- The index analyzer adds parts of the field from 2 - 25 chars including whitespace etc. --> 
    <analyzer type="index"> 
    <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" maxGramSize="25"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <!-- The query analyzer takes the whole input, whitespace and all -->    
    <tokenizer class="solr.KeywordTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

<fieldType name="autosuggest" class="solr.TextField" positionIncrementGap="100"> 
<analyzer type="index"> 
    <tokenizer class="solr.LetterTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" /> 
</analyzer> 
<analyzer type="query"> 
    <tokenizer class="solr.LetterTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 

HTML

<input id="category_name" name="search" size="30" type="text" /> <script>$('#category_name').autocomplete('http://127.0.0.1:8982/solr/', 'name', {});</script> 
       <script>$('#search').autocomplete('http://127.0.0.1.120:8982/solr/', 'search', {});</script> 

답변

0

내가 오라클 오픈 JDK에서 JRE를 변경하고 모든 것을 다시 설치. 이제 작동합니다.

관련 문제