Comments (9)
I thought this is by design so that the backend can change the algorithm at any time
from short.
I'm not sure I understand what you are saying. Do you think type
filter shouldn't be exposed?
from short.
@hemachandarv I see what you mean. I think it is exposed. Is it not?
from short.
@byliuyang I could see there is a param for the resource type. I don't see one for the match type (do we match the keywords in the short-links (or) the long-links?). Currently the app does both and ranks them accordingly.
I'm thinking this depends on the use-cases for which the Search is exposed. Do you think we should let the client provide the type of links to match the keywords on?
from short.
My main concern is that each attribute has unique way to be ranked. If we exposed, how are we going to expose ranking logic? Or we can abstract out search layer into a library for additional use cases? Could you please draw some UMLs or explain sample exact use cases? I can't just imagine the use cases themselves without knowing what they are. Thanks!
from short.
The ranking param & code are in pair.
from short.
I completely agree that each attribute has unique way to be ranked. For now, I see we allow link search only, based on the provided keywords. From what I see in the code, I could think of an use-case where a client wants to get links for the keywords that are matched only in short-link. However, the application returns matches from the long-links as well. This could become an issue if there are no matches in the short-links for the given keywords.
I do not know the current use-cases supported by Search. Would love to know them.
from short.
@hemachandarv I am trying to not expose how order is calculated to the client. That's to be said, we are planning to make a generic search engine library for developers to integrate search feature into their own system.
from short.
@hemachandarv How about this. Let's expose the API to allow the client to decide what fields we want to be sorted on. If nothing is specified, by default, we sort on both fields.
from short.
Related Issues (20)
- grpc err HOT 1
- [Feature] Configure Spinner component
- [Refactor] Consolidate all similar error actions into a single error type HOT 1
- [Refactor] Impose definite error handling mechanism in Client Classes
- [Refactor] Update user short link relation in Usecase HOT 2
- [Feature] Add migration and SQL files for Incident and Progress data model
- [Refactor] Add custom error type for failed auto alias
- [Feature] Add UI components to storybook
- [BUG] GraphQL error extensions property undefined if long link is null
- [Refactor] Use eventbus to propagate short link update to user short link repo HOT 1
- [Refactor] Use ptr.String to pass test case strings directly into test cases
- [Refactor] Toggle should use CSS module HOT 1
- [Feature] Add styling to Toggle component and add Storybook page HOT 2
- [Feature] Add Incident and Progress repos HOT 1
- [Feature] Serve custom meta tags for the UI when users visits /r/:alias
- [Refactor] Replace mustParseTime with must.Time across the codebase
- [Feature] Add styles to Toggle component
- [Refactor] Remaining Storybook 6 Upgrade Items
- [Feature] Keyboard shortcut to submit short link
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 short.