Feat: Add pg_bigm for keyword search in pgvector
Summary
Resolves #13873
This pull request adds new keyword search method by pg_bigm and introduces the environment variable PGVECTOR_PG_BIGM that is false by default. When setting PGVECTOR_PG_BIGM to true, keyword search by pg_bigm is enabled.
When selecting pgvector for vector store, the keyword search method based on tsvector can already be used. But, this method does not support Japanese by default. This pull request enables keyword search by Japanese or maybe other languages that is not supported by tsvector approach.
Checklist
[!IMPORTANT]
Please review the checklist below before submitting your pull request.
- [ ] This change requires a documentation update, included: Dify Document
- [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
- [ ] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
- [ ] I've updated the documentation accordingly.
- [x] I ran
dev/reformat(backend) andcd web && npx lint-staged(frontend) to appease the lint gods
Ping
We are currently facing a severe shortage of staff, and the review of new features may be delayed. We apologize for the inconvenience.