Comments (1)
Hi @thclark, thanks for the issue.
zombodb in effect evaluates that filtered queryset, then sends a list of ids to ElasticSearch in order to filter the potential results
In fact it's the opposite. The 'name:Hut'
search is executed on ElasticSearch side. Then the results are filtered with the additional SQL filters (WHERE). Note results can be limited to avoid heavy ES searches.
Haystack and basically every other search tool I've checked will suffer from similar problems: you need a list of ids to combine SQL filtering with searching (on a separate Search Engine).
But be aware nothing prevents you to ensure you're using only ElasticSearch for searches and completely avoid the use of SQL WHERE
/ .filter
. In fact, that's recommended per docs:
Itβs fine to call filter/exclude/etc. before and after search. If possible, the best would be using only a Elasticsearch query.
For that, you just need to use filter everything with the ES syntax. Try the dsl_search
method.
However, I agree that's not clear enough, so I think we should separate that into a new warning explaning better what's going on behind the scenes. I'll leave this issue open due to that.
I'ld personally suggest you trying django-zombodb if you already have the infrastructure to support it. Be aware of zombodb's limitations though: https://github.com/zombodb/zombodb/blob/master/THINGS-TO-KNOW.md
from django-zombodb.
Related Issues (20)
- Document slow performance if multiple search calls HOT 1
- Log warning if multiple search calls
- Add Django master to CI HOT 1
- Test HOT tuples before CREATE INDEX HOT 1
- Delete indexes after tests
- Write docstrings
- Document admin mixin
- Migrations should always use settings.ZOMBODB_ELASTICSEARCH_URL not its value HOT 2
- Support highlighting
- Support aggregations
- Update of related tables: trigger?
- Add sed command on Makefile to match "# via django" lines HOT 1
- Document postgresql.conf settings
- Implement WITH options for ZomboDBIndex HOT 1
- Try to integrate with Haystack's SearchQuerySet
- Handle case where user can't change settings (like Heroku) HOT 2
- Document warning about ZOMBODB_ELASTICSEARCH_URL changes HOT 1
- ZomboDB's internal "Sorting and Limiting Results"
- Django 1.11 compatibility HOT 1
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 django-zombodb.