Keyword matching software

CEHJ used Ask the Experts™
Consider algos/softwares that take keywords in one document and match them (possibly a kind of set intersection) with keywords in N other documents, possibly producing a match ranking.

a. Is there a specific name for this?
b. Are there implementations in Java and PHP?

Example use cases would be
  • patients submitting a list of symptoms and then software looking for matches against known conditions
  • applicants submitting skillsets and looking for potential job matches
  • dating websites
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
For a), it *might* be worth scanning “document clustering“ as a topic.
Top Expert 2016


Great. Thanks for that. Of course, my general googling in the past has brought up that term but also many others that are probably sub-operations of clustering. Curiously difficult to avoid seeing trees when i need the use-case forest
David FavorFractional CTO
Distinguished Expert 2018
You might try just creating a generic approach to this with...

1) Rows of data with an associated condition name.

2) Then use a FTS (Full Text Search) index with keywords describing symptoms, as single words or phrases.

3) Searching simply returns Rows in order of matches... so first match might match all search keywords + subsequent matches are any matches, ordered by number of matches.

So if a person typed in 4 keywords, search results would match 4 keywords, then 3 keywords, the 2, then 1.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial