2011-11-28 30 views

Trả lời

10

schema.xml xác định lĩnh vực tìm kiếm mặc định -

<defaultSearchField>text</defaultSearchField> 

Bạn có thể sao chép tất cả các lĩnh vực để lĩnh vực tìm kiếm mặc định này.

<copyField source="field1" dest="text"/> 
<copyField source="field2" dest="text"/> 
<copyField source="field3" dest="text"/> 

Và truy vấn q=basket ball sẽ hoạt động.

+2

Điều này không còn đúng kể từ Solr 3.6 trở lên. Xem https://issues.apache.org/jira/browse/SOLR-2724 – kellyfj

3

Bạn cần phải sử dụng trình phân tích truy vấn có thể gửi mã thông báo đến một số trường, chẳng hạn như (e) dismax. Ví dụ: nếu bạn có hai trường field1field2: http://solr/select?q={!dismax}Basket Ball&qf=field1^1 field2^1

Xem http://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29 để biết thêm thông tin về cấu hình tháo rời.

+0

nếu như vậy, nó vẫn phải ghi rõ lĩnh vực mà sẽ đi tìm ngay ,. ? và ký tự^1 có nghĩa là gì,.? – Praditha

+0

Có, bạn cần chỉ định mọi trường. Ký tự '^' cho bạn khả năng đưa trọng số cho trường của bạn. Ví dụ, nếu một trận đấu trong 'field1' phải là hai lần quan trọng như là một trận đấu trong' field2', bạn có thể sử dụng 'qf = field1^2 field2^1'. – jpountz

4

Các lĩnh vực tìm kiếm mặc định (từ 3.6) bây giờ được định nghĩa trong solrconfig.xml

ví dụ Trong solrconfig.xml mà tàu với Solr configsets thư mục, bạn sẽ thấy một cái gì đó giống như

<initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell"> 
    <lst name="defaults"> 
     <str name="df">allText</str> 
    </lst> 
    </initParams> 

Bạn có thể thay đổi allText-yourDefaultSearchFieldName

+0

sau khi làm như vậy, trong khi tìm kiếm lỗi 'văn bản trường không xác định' –

+0

Bạn đang sử dụng phiên bản Solr nào? – kellyfj

+0

Tôi đang sử dụng solr 5.3 –

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