Comments (2)
If you have one million or so elements you will find that you need to have a subjective importance score to get good relevance. If you sorted the hits by alphabetic order, for instance, people would be overwhelmed by things they don't know or care about and your typeahead would be useless. (It might please your boss but it won't please the end users)
The scoring will depend on your application but generally you want the score to be proportional to an estimator of the probability that the user is thinking of a certain element. In many ways this score is like the "PageRank" score that Google uses to rank web pages.
In the case of topics from Wikipedia, for instance, you get pretty satisfying results if you sort by the number of Wikipedia pages that link to your topic. An alternate scoring system I am working on would use Wikipedia usage data and sort topics by how many visits each page gets. It can get fancier than that too.
For the case of a business system, let's say a CRM system, you might make the score proportional to the annual revenue expected from the client, or how many sales calls have been made to the client, or how many times salespeople have looked at the record.
It is very simple to come up with a scoring strategy that is "pretty good", but a lot of evaluation work would go into making a "great" scoring function and there isn't as much precedent for relevance in typeahead search as there is in conventional fulltext search.
from cleo.
Thanks, that clarifies.
from cleo.
Related Issues (12)
- Quick Start - git fails HOT 2
- Orignal scores were overridden in GenericTypeaheadInitializer code
- Heapdump: Shows objects are not GC'd from Krati
- Parameter Substitution For Properties Is Broken By Backslashes
- Need Boosting For Exact Matches
- Cleo needs lot of memory -- using SSD instead of memory
- Quick Start - "main" suggestion HOT 1
- Running from within a firewall HOT 2
- want to change ElementID datatype from int to long HOT 1
- GenericTypeaheadInitializer override the scores with a default min value
- Word repetition issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cleo.