Tôi có một danh sách các địa chỉ trong hai bảng riêng biệt hơi bị tắt mà tôi cần để có thể khớp. Ví dụ, cùng một địa chỉ có thể được nhập theo nhiều cách:Thuật toán Khóa đối sánh địa chỉ
- 110 Kiểm tra St
- 110 thử nghiệm St.
- 110 Kiểm tra đường
Mặc dù đơn giản, bạn có thể tưởng tượng tình hình ở scenerios phức tạp hơn. Tôi đang cố gắng phát triển một thuật toán đơn giản để có thể khớp các địa chỉ trên như một khóa.
Ví dụ: chìa khóa có thể là "11TEST" - đầu tiên là hai trong số 110, đầu tiên là hai Kiểm tra và hai biến thể đầu tiên trên đường phố. Khóa khớp đầy đủ cũng sẽ bao gồm 5 mã zip đầu tiên cũng như trong ví dụ trên, khóa đầy đủ có thể trông giống như "11TEST44680".
Tôi đang tìm ý tưởng cho thuật toán hoặc tài nguyên hiệu quả mà tôi có thể xem xét để xem xét khi phát triển điều này. Bất kỳ ý tưởng nào cũng có thể là mã giả hoặc bằng ngôn ngữ bạn chọn.
Chúng tôi chỉ quan tâm đến địa chỉ ở Hoa Kỳ. Trong thực tế, chúng tôi chỉ xem xét địa chỉ từ 250 mã zip từ Ohio và Michigan. Chúng tôi cũng không có quyền truy cập vào bất kỳ phần mềm bưu chính mặc dù sẽ được mở cho ý tưởng cho các giải pháp hiệu quả chi phí (nó về bản chất sẽ được sử dụng một lần). Xin lưu ý rằng đây là một dữ liệu ban đầu từ nguồn chính phủ để gợi ý về cách người dùng có thể làm sạch nó hữu ích khi tôi xây dựng ứng dụng nhưng tôi rất muốn có được sự khởi đầu tốt nhất mà tôi có thể tốt nhất có thể.
Dưới đây là một danh sách đầy đủ các lĩnh vực tôi đang cố gắng để phù hợp mà trên cả hai bảng: Address1, Address2, Thành phố, Nhà nước, và Zip . Address2 có thể là NULL (và trong nhiều trường hợp). Tôi muốn tập trung vào mã zip như một phần của khóa thay vì thành phố/tiểu bang. – sestocker
Bạn nên sửa đổi câu hỏi để làm rõ ý định của mình. Sử dụng "test" làm tên đường phố làm cho thực tế là "11TEST" thực sự đề cập đến 11 ### TExxxx STxxx. Hãy thử 110 Main St. và "11MAST". – alphazero
Tôi sẽ rất quan tâm đến việc cộng tác với bất kỳ ai hiện đang phát triển điều gì đó để làm điều này ... ben tại afsinc dot ca – BenAlabaster