이것은 this question의 후속 질문입니다. 맞춤법 검사기를 구현하려는 도시 목록이 있습니다. 나는 나와 함께이 도시들의 우선 순위/무게를 가지고있다.FileDictionaryFactory에 의해 storeDir이 생성 될 때도 suggester에서 데이터를 가져올 수 없습니다.
<city-name> <TAB> <weight> <TAB> <other parameters like citycode,country>
내가 citycode, 국가 등과 같은 파이프로 구분 된 페이로드 문자열과 같은 다른 속성을 전달하고있다 : 나는 다음과 같은 형식의 기본으로 FileDictionaryFactory와 solrsuggester을 구현했습니다.
여기에 지금 직면하고있는 문제는 내가 각각의 모든 검색 쿼리에 대한 0 결과를 얻고 내 solrconfig
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="field">name</str>
<str name="weightField">searchscore</str>
<str name="suggestAnalyzerFieldType">string</str>
<str name="buildOnStartup">false</str>
<str name="sourceLocation">spellings.txt</str>
<str name="storeDir">autosuggest_dict</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
<str name="suggest.dictionary">mySuggester</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
내 스키마
<field name="name" type="string" indexed="true" stored="true" multiValued="false" />
<field name="countrycode" type="string" indexed="true" stored="true" multiValued="false" />
<field name="latlng" type="location" indexed="true" stored="true" multiValued="false" />
<field name="searchfield" type="text_ngram" indexed="true" stored="false" multiValued="true" omitNorms="true" omitTermFreqAndPositions="true" />
<uniqueKey>id</uniqueKey>
<defaultSearchField>searchfield</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
<copyField source="name" dest="searchfield"/>
입니다. storeDir이 생성되는 것을 볼 수는 있지만 데이터가있는 bin 파일은 내 페이로드 데이터처럼 보입니다.
- storeDir의 창조는 무엇을 의미 않습니다
이
나는 내가 다음과 같은 질문을 가지고, 그래서
를 URL 형식으로 사용하고 있습니까? 색인 생성에 성공 했습니까?/suggest?suggest=true&suggest.dictionary=mySuggester&wt=json&suggest.q=cologne
- 그렇다면 검색어에 어떤 문제가 있습니까? 그렇지 않다면 나는 여기에 뭔가 빠졌는가? (indexPath ???).
- 페이로드 필드에 검색 매개 변수를 제공하는 것이 올바른 방법입니까? 그렇지 않다면 다른 방법이 있습니까?