Keyword matching software

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
LVL 87
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

For a), it *might* be worth scanning “document clustering“ as a topic.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CEHJAuthor Commented:
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 FavorLinux/LXD/WordPress/Hosting SavantCommented:
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.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.