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>