Comments (6)
I'm not sure what you've tried, but the query objects returned by Textacular's methods should play nicely with the tools available from ActiveRecord for this kind of thing. I found some discussion of this on Stack Overflow that might be helpful.
from textacular.
Here's as close to it as I've got:
scope :with_id, ->(id) {
where(id: id)
}
Then
search = Linguist.basic_search('1234')
Linguist.select(search.select_values).where(
Linguist.with_id('1234').where_values.first.or(search.where_values.first)
).order(search.order_values)
It gives roughly the sql I need, but it is choking on this bit:
WHERE (("linguists"."id" = 1234 OR 'to_tsvector(''english'', "linguists"."title"::text) @@ plainto_tsquery(''english'', ''1234''::text) OR
with the error
PG::InvalidTextRepresentation: ERROR: invalid input syntax for type boolean:
Perhaps you could shed some light as to why this would be happening?
from textacular.
I'm outside my previous experience, here. Anyone else have a better grasp of how AR's or
is meant to be used?
from textacular.
Good question. I also stumbled across this problem. For now I use the workaround which is not very beautiful.
if query =~ /^[0-9]+$/
search_criteria[:id] = query.to_i
end
result = result.advanced_search(search_criteria, false)
I need this to also search the ID of the record which is of course an Integer and not searchable using textacular.
For me it works. I also search by id. The where clause of generated SQL expression:
WHERE (to_tsvector('russian', "ads_in_list"."short_description"::text) @@ to_tsquery('russian', '70616:*'::text) OR to_tsvector('russian', "ads_in_list"."long_description"::text) @@ to_tsquery('russian', '70616:*'::text) OR to_tsvector('russian', "ad_contacts"."phone"::text) @@ to_tsquery('russian', '70616:*'::text) OR to_tsvector('russian', "ads_in_list"."id"::text) @@ to_tsquery('russian', '70616'::text))
I hope I will find a proper solution in the future.
from textacular.
Thanks for this, not ideal, but a decent hack!
from textacular.
Since there's a workaround and I don't understand this very well, I'm going to go ahead and close this.
from textacular.
Related Issues (20)
- textacular 4.0.1 doesn't support activerecord 5.1.1 HOT 3
- JSONB columns HOT 1
- Migration Error
- "count" method not working results from searches HOT 10
- Gin index is not working with simple dictionaries HOT 1
- Deprecation warning in Rails 5.2 HOT 3
- Migration failed - SQL Syntax Error - "CREATE EXTENSION" HOT 1
- Disable ranking? HOT 3
- One step is missing > Bundle install HOT 1
- Rails 6 Support HOT 1
- Support ActiveRecord 6.0.0 HOT 1
- Create Trigram Migration appends [5.0] even on older Rails HOT 2
- Search across multiple columns not working HOT 1
- How to search distinct results HOT 1
- Web search missing as instance method from 5.2.0 gem HOT 1
- Unable to distinct on a multi-table search HOT 20
- Indexing on web_search? HOT 2
- Support for rails 6.1 HOT 2
- Documentation Site 404s HOT 6
- Could you please release the next version with Support of ActiveRecord 7.1 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 textacular.