2011-10-10 27 views
10

Tôi đã thiết lập thành phần suggester cho tự động hoàn thành cho một trường (nó hoạt động tốt), nhưng tôi cần nó cho nhiều trường là điều này có thể?SOLR suggester nhiều trường tự động hoàn thành

xml solrconfig của tôi:

<searchComponent class="solr.SpellCheckComponent" name="suggest"> 
    <lst name="spellchecker"> 
     <str name="name">suggest</str> 
     <str name="classname">org.apache.solr.spelling.suggest.Suggester</str> 
     <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str> 
     <str name="field">name</str> 
     <float name="threshold">0.005</float> 
     <str name="buildOnCommit">true</str> 
    </lst> 
    </searchComponent> 
    <requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest"> 
    <lst name="defaults"> 
     <str name="spellcheck">true</str> 
     <str name="spellcheck.dictionary">suggest</str> 
     <str name="spellcheck.onlyMorePopular">true</str> 
     <str name="spellcheck.count">10</str> 
     <str name="spellcheck.collate">true</str> 
    </lst> 
    <arr name="components"> 
     <str>suggest</str> 
    </arr> 
    </requestHandler> 

Trả lời

9

copyfields tài khoản để kết hợp nhiều lĩnh vực vào trường duy nhất và sử dụng lĩnh vực mà trong suggester -

Schema -

<copyField source="name" dest="spell" /> 
<copyField source="other_name" dest="spell" /> 

suggester -

<str name="field">spell</str> 
+0

Có cần phải b e được thêm vào schema.xml? – Krunal

+0

Cần phải thêm vào general_schema_fields.xml – shredding

+0

@shredding: Điều này không hiệu quả đối với tôi. bởi 'general_schema_fields.xml', bạn có nghĩa là' schema.all.xml'. Tôi không có bất kỳ tệp nào có tên 'general_schema_fields.xml'. Bạn có thể xem [this] (http://stackoverflow.com/questions/20217037/how-to-autocomplete-across-multiple-fields-in-solr) – nish

Các vấn đề liên quan