2014-11-05 13 views
13

Tôi đang làm việc trên Solr 4+.Trường Văn bản Solr và Trường chuỗi - hành vi tìm kiếm khác nhau

Tôi có một số trường trong giản đồ solr của tôi với các loại trường solr khác nhau.

Tìm kiếm trên trường văn bản và trường chuỗi có khác không?

Vì tôi đang tìm kiếm trường chuỗi (trường bản sao của một số trường khía cạnh) không hoạt động như mong đợi. Trường chuỗi đích được lập chỉ mục và lưu trữ cả hai.

Tuy nhiên, khi tôi thay đổi trường đích mà trường văn bản (chỉ được lập chỉ mục), nó hoạt động tốt.

Bạn có thể đề xuất lý do điều này xảy ra không? Sự khác biệt chính xác giữa các trường văn bản và chuỗi trong solr đối với các tìm kiếm là gì?

Trả lời

22

TextFields thường có mã thông báo và phân tích văn bản đính kèm, có nghĩa là nội dung được lập chỉ mục được chia thành các thẻ riêng biệt, nơi không cần kết hợp chính xác - mỗi từ/mã thông báo có thể được kết hợp riêng để quyết định xem toàn bộ tài liệu bao gồm trong phản hồi.

StrFields không thể có bất kỳ mã thông báo hoặc phân tích/bộ lọc nào được áp dụng và sẽ chỉ cung cấp kết quả cho kết quả khớp chính xác. Nếu bạn cần một StrField với phân tích hoặc bộ lọc được áp dụng, bạn có thể thực hiện điều này bằng cách sử dụng TextFieldKeywordTokenizer.

0

Trường văn bản chung có các giá trị mặc định chung về ngôn ngữ chung: nó thông báo với StandardTokenizer, loại bỏ các từ dừng từ "stopwords.txt" phân biệt chữ hoa chữ thường (trống theo mặc định) và các trường hợp xuống. Tại thời điểm truy vấn, nó cũng áp dụng các từ đồng nghĩa.

Loại StrField không được phân tích, nhưng được lập chỉ mục/lưu trữ nguyên văn.

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