Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search Bar for Issues and Pull Requests #379

Closed
ethantkoenig opened this issue Dec 13, 2016 · 11 comments
Closed

Search Bar for Issues and Pull Requests #379

ethantkoenig opened this issue Dec 13, 2016 · 11 comments
Labels
type/enhancement An improvement of existing functionality type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Milestone

Comments

@ethantkoenig
Copy link
Member

ethantkoenig commented Dec 13, 2016

Add a search bar for searching issues and pull requests. This would be similar to Github's search bar.

I would be happy to implement this proposal, but just want to make sure there is interest before doing so.

@lunny lunny added type/enhancement An improvement of existing functionality type/feature Completely new functionality. Can only be merged if feature freeze is not active. labels Dec 13, 2016
@lunny lunny added this to the 1.1.0 milestone Dec 13, 2016
@bkcsoft
Copy link
Member

bkcsoft commented Dec 13, 2016

Fire at will 😄

@tboerger
Copy link
Member

Makes sense for sure, but I'm also sure we need some kind of indexer or cache layer.

@lunny
Copy link
Member

lunny commented Dec 13, 2016

@tboerger, indexer could be put in 1.x.x, we could implement it use database like as a short term solution.

@tboerger
Copy link
Member

@lunny the only think in the database are issues. For choose search you are forced to search within the repo.

@ethantkoenig
Copy link
Member Author

ethantkoenig commented Dec 15, 2016

I looked into using a full-text-index to speed up searches, specifically for Postgres. Postgres has support for full-text-indices (docs), but they do not seem to interact with xorm well.

On calls to Sync2(..), xorm tries to delete any index that is not listed in the corresponding struct's definition (session.go, line 4091). The full-text-index is not listed in the struct's definition, so xorm tries to delete it.

Is there some way to get xorm to be okay with the full-text-index, particularly a way that will work for all supported RDBMSs? Any help would be appreciated 😃

@lunny
Copy link
Member

lunny commented Dec 15, 2016

But maybe not all the database support full-text-index? Another way is to store index ourself, and we can have a task called index which will index issue titles and contents, wiki title and contents and codes?

@lunny
Copy link
Member

lunny commented Dec 15, 2016

Maybe we can use http://www.blevesearch.com/ to do that.

@tboerger
Copy link
Member

I would also suggest a bleeve based index.

@ethantkoenig
Copy link
Member Author

I've begun looking into bleve. Just to double-check, the idea is to

  • maintain one bleve index per repository, and
  • during an issue search, issue both a SQL query (for other criteria) and a search on the index (for keyword), and then intersect the two results?

Let know me if I'm missing something.

@lunny
Copy link
Member

lunny commented Dec 16, 2016

If we use bleve, SQL query will be no need. I think one repo one index file is not good idea. I prefer one function one index. So that issue/pr index, repo index, wiki index. And in fact this work's emphasis is splitting words in different languages or mixed languages.

@ethantkoenig
Copy link
Member Author

If we don't have a SQL query, how can we support existing filters like tags, or issues created by a particular user?

@lunny lunny closed this as completed Jan 25, 2017
@go-gitea go-gitea locked and limited conversation to collaborators Nov 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type/enhancement An improvement of existing functionality type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

No branches or pull requests

4 participants