Tôi mới dùng Solr. Bằng cách đọc wiki của Solr, tôi không hiểu sự khác biệt giữa WhitespaceTokenizerFactory và StandardTokenizerFactory. Sự khác biệt thực sự của họ là gì?Sự khác biệt giữa WhitespaceTokenizerFactory và StandardTokenizerFactory
6
A
Trả lời
23
Chúng khác nhau về cách chúng phân tách văn bản được phân tích thành mã thông báo.
Các StandardTokenizer thực hiện điều này dựa trên như sau (lấy từ Lucene javadoc):
- Tách lời tại ký tự chấm câu, loại bỏ dấu chấm câu. Tuy nhiên, dấu chấm không được theo sau bởi khoảng trắng được coi là một phần của mã thông báo.
- Tách từ bằng dấu gạch ngang, trừ khi có số trong mã thông báo , trong trường hợp đó toàn bộ mã thông báo được hiểu là một sản phẩm số và không được chia nhỏ.
- Nhận dạng địa chỉ email và internet tên máy chủ dưới dạng một mã thông báo.
Các WhitespaceTokenizer thực hiện điều này dựa trên ký tự khoảng trắng:
Một WhitespaceTokenizer là một tokenizer rằng chia văn bản ở khoảng trắng. Trình tự liên tiếp của các thẻ ký tự không phải khoảng trắng.
Bạn nên chọn mã thông báo phù hợp nhất với đơn đăng ký của mình. Trong mọi trường hợp, bạn phải sử dụng cùng một trình phân tích/mã thông báo để lập chỉ mục và tìm kiếm!
Các vấn đề liên quan
- 1. Sự khác biệt giữa StandardTokenizerFactory và KeywordTokenizerFactory trong Solr?
- 2. Sự khác biệt giữa $ (...) và `...`
- 3. Sự khác biệt giữa. và #
- 4. Sự khác biệt giữa $ * và $ @
- 5. Sự khác biệt giữa ". +" Và ". +?"
- 6. Sự khác biệt giữa "**/* /" và "** /"?
- 7. Sự khác biệt giữa = và: =
- 8. Sự khác biệt về sự khác biệt giữa Matplotlib giữa Agg và Cairo
- 9. Sự khác biệt giữa Html.RenderAction và Html.Action
- 10. Sự khác biệt giữa cookie và phiên?
- 11. Sự khác biệt giữa '.' và "." trong java
- 12. Sự khác biệt giữa SimpleDB và S3
- 13. C++ - Sự khác biệt giữa (*). và ->?
- 14. Sự khác biệt giữa offsetHeight và clientHeight
- 15. Sự khác biệt giữa RDLC và SSRS
- 16. Sự khác biệt giữa "\ n" và Environment.NewLine
- 17. Sự khác biệt giữa qt và PyQt4
- 18. Sự khác biệt giữa AForge và OpenCV
- 19. Sự khác biệt giữa toFixed() và toPrecision()?
- 20. sự khác biệt giữa cacao và cocoatouch
- 21. Sự khác biệt giữa smtpClient.send() và smtpClient.SendAsync()?
- 22. Sự khác biệt giữa window.location.host và window.location.hostname
- 23. Sự khác biệt giữa DTLS và TLS
- 24. Sự khác biệt giữa Mealy và Moore
- 25. sự khác biệt giữa createRfcommSocketToServiceRecord và createRfcommSocket
- 26. Sự khác biệt giữa Arrays.sort() và Arrays.parallelSort()
- 27. sự khác biệt giữa orm và pdo
- 28. Sự khác biệt giữa nproc và ulimit?
- 29. Sự khác biệt giữa apc_add và apc_store?
- 30. Sự khác biệt giữa mb_substr và substr
Cảm ơn csupnig! Khi bạn nói "sử dụng cùng một trình phân tích/mã thông báo" để lập chỉ mục và tìm kiếm, bạn có nghĩa là trình phân tích cần phải khớp với loại trình mã thông báo đang được sử dụng, m i phải không? – trillions
Có, họ nên làm tương tự để tạo ra các mã thông báo tương tự. Chỉ có những trường hợp hiếm hoi mà bạn muốn các trình mã thông báo khác nhau trong trình phân tích cú pháp truy vấn so với các trình mã thông báo bạn đã sử dụng trong khi lập chỉ mục. – csupnig
Cảm ơn csupnig :) – trillions