I currently use Algolia, I need Field Collapsing (like on Elasticsearch and Solr) for my use case, does algolia support it ?
I can find anything on it on Algolia website.
Thanks for your help
there is a grouping feature with algolia, it's called "distinct": https://www.algolia.com/doc/search/distinct#distinct-for-grouping
I think this is what you are looking for.
Related
I've been doing research for the last several hours finding out how to do full text search in iOS apps with Firestore. I eventually realized full-text search is not supported. I read up on Algolia, watched tutorials, read articles and still don't see a way to push data from Firestore to Algolia in Swift. Can somebody guide me to a post or maybe add like a code snippet or something to show me how I can use this software? Thanks.
Algolia offers SWIFT API client
Swift API client is an open source, production-ready API wrapper that abstracts from the complexity of directly interfacing with the Algolia Search API
Basically to work with algolia using any API client, you have to do few things,
Install the algolia client
https://www.algolia.com/doc/api-client/getting-started/install/swift/?client=swift
Initialize the client with your application ID and KEY
https://www.algolia.com/doc/api-client/getting-started/instantiate-client-index/
Indexing your data & Setup searchable attributes
https://www.algolia.com/doc/api-client/methods/indexing/
https://www.algolia.com/doc/guides/managing-results/must-do/searchable-attributes/
Perform search
https://www.algolia.com/doc/api-reference/api-methods/search/
Many sub-actions available within these to improve your experience with Algolia. I recommend you to go through the docs fully.
Yes, there are few other ways available to work with algolia, like using cloud functions for indexing data into algolia and doing only search from your client. But as you specifically mentioned SWIFT the above references would help you to get started!
These two features look pretty simmilar, but Atlas Search is fresh and maybe more powerfull.
Is Atlas Search a replacement for Text Indexes in MongoDb? Will Text Indexes be deprecated?
Did I missed some essential difference? Is Atlas Search a proprietar feature of Atlas as cloud platform?
Is Atlas Search a proprietary feature of Atlas as cloud platform?
Yes, as of now.
Atlas Search is one of the selling points of Atlas (among many).
Atlas Search is [newer] and more powerful
Also true.
Will Text Indexes be deprecated?
I would say unlikely given that on-premise customers then would be left without text search at all, but I am not involved in this decision.
Atlas search is different from Text search, because atlas search uses Apache Lucene Engine in the backend for search functionality, which uses an “inverted indexing” to store the data, which makes it much faster due to how data is stored - It saves all keywords like glossary of a book with each page & its keywords.
Some more famous search engines uses same Backend (Apache Lucene) are:
Elastic Search
Solr
Search engines based on Lucene are very fast than regular text search & has many extra features such as:
Faceting (Filters functionality like in e-commerce website).
Fuzzy (If we type 1-2 incorrect words it'll still give correct results).
Memory based filters
Analysers for your needs (which can modify words on the spot while giving results).
Multi - Language Support
Autocomplete search
Much, much more
Atlas search is powerful search engine can search through millions of documents due to it's backend.
So, Yes atlas search is very different from Text Search, it saves alot of time, without need to use 3rd party search engines such as Elastic.
No, text search will not be removed because it can be used for normal applications & search requirements.
Atlas search is beneficial for projects such as E-Commerce or any application with a-lot of filters & search requirements with millions of documents.
I My self had used it in Australian E-commerce marketplace as primary search engine.
I don't know if my question is valid or not,I use nominatim search engine but it can't make auto-complete search so I decide to use pelias by mapzen, my question is that is it possible to import data from nominatim to pelias? How?
Thank you
If you're running a local instance of Pelias you'll need to run the Pelias OSM data importer to index all the venues and addresses in OSM. Pelias uses elasticsearch so it won't work with Nominatim's database as-is.
Not answering your question about pelias but instead the one about Nominatim and auto-completion.
Take a look at Photon. It supports auto-completion and as far as I know it uses a regular Nominatim database. I've never used it myself though.
It might be also worth to look at other OSM-based search engines / geocoders.
My company's site is spread out across several subdomains (e.g. help., blog., etc.). Can Algolia return relevant content from all of these subdomains when someone does a search?
For instance, say I have a SQL question. There's content that could answer that question on the blog and on help and on a few other subdomains. When I search "SQL" in the search bar, the results would be for pieces of content from all the different subdomains.
I believe Stripe does something like this, though I'm not sure what kind of search they're using. https://support.stripe.com/search?q=money
Thanks in advance!
Definitely! Algolia Search API is domain agnostic, it's all about the data you push to Algolia. You can read the getting started to better understand how it works.
In your case, you can push the content of all your subdomains to a single Algolia index and implement a simple JavaScript-based search targeting that index. You can then either build an auto-completion menu or a full search results page.
Say, if I want to store PDFs or ePub files using MongoDB's GridFS, is it possible to perform full-text searching on the data files?
You can't currently do real full text search within mongo: http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo
Feel free to vote for it here:
https://jira.mongodb.org/browse/SERVER-380
Mongo is more of a general purpose scalable data store, and as of yet it doesn't have any full text search support. Depending on your use case, you could use the standard b-tree indexes with an array of all of the words in the text, but it won't do stemming or fuzzy matches, etc.
However, I would recommend combining mongodb with a lucene-based application (elastic search is popular). You can store all of your data in mongodb (binary data, metadata, etc.), and then index the plain text of your documents in lucene. Or, if your use case is pure full text search, you might consider just using elastic search instead of mongodb.
Update (April 2013):
MongoDB 2.4 now supports a basic full-text index! Some useful resources below.
http://docs.mongodb.org/manual/applications/text-search/
http://docs.mongodb.org/manual/reference/command/text/#dbcmd.text
http://blog.mongohq.com/blog/2013/01/22/first-week-with-mongodb-2-dot-4-development-release/
Not using MongoDB APIs, not that I know of. GridFS seems to be designed to be more like a simplified file system with APIs that provides a straightforward key-value semantic. On their project ideas page they list two things that would help you if existed in production-ready state:
GridFS FUSE that would allow you to mount GridFS as a local file system and then index it like you would index stuff on your disk
Real-Time Full Text search integration with tools like Lucene and Solr. There are some projects on github and bitbucket that you might want to check out.
Also look at ElasticSearch. I have seen some integration with Mongo but I am not sure how much has been done to tap into the GridFS (GridFS attachment support is mentioned but I haven't worked with it to know for sure). Maybe you will be the one to build it and then opensource it? should be a fun adventure