Emulating google search on elasticsearch - elasticsearch

I am trying to emulate google search using elasticsearch.
When I search for "My name is kalam" in google, it shows results of "I am kalam" movie. How is google search able to provide this result and how is google checking for relevance of data searched? Is this implementable in elasticsearch as well?

Related

Automatic translation of search queries using Lucene or similar technologies

I am evaluating search technologies and one of my requirements is the ability to hit translated text also.
For example, there are text documents written in English and French. And lucene will index them.
If I am searching for the string "apple", it should search for both "apple" and "pomme" and show documents with either.
Will any technologies provide automatic translation of token words ?
Or only way to do that is to translate it using Google API and then feed it to lucene for indexing?
There are no automatic translations in Lucene/Solr/Elasticsearch, but they have a similar feature, called Synonyms. You can create a list of synonyms with Google Api to translate the terms in the search time, not the index time.
With this approach, you can search for "apple" and the search engine will see "apple" and "pomme" as synonyms, and you will get the result as expected.

Splunk to Elasticsearch datamodel translation

I'm trying to convert Splunk searches to Elasticsearch searches. The one problem I'm having is what to do with Splunk's datamodels. How would I transfer performing the search in a specific datamodel in Splunk to an Elasticsearch search?
For example, in a Splunk search:
tstats summariesonly=T count from datamodel="Web"........
What would be the Elasticsearch equivalent to performing the search in the "Web" datamodel?
Any help, no matter how small will help indeed. Thank you
Open the query in search and use the search inspector. The inspector will show you know which query splunk has actually executed.
While tstats searches index-time fields, you will have to reproduce all datamodel fields and aggregations (i.e. datamodel acceleration) and this is not an easy task, if at all possible.

Elasticsearch find search terms matching text

I have a scenario where i need to map each article to an entity. To do so, we are maintaining a set of keywords / search phrase (ex: (icici OR hdfc) AND bank) that may be available in each article. We want to use the power of elastic search to scan all the search phrases that may be available in the article being processed.
What i have come across yet is forward search (like full text search and so on) But now here what i need is to have a reverse search of search phrases against an article.
I was digging for a solution and hopped some genius would have already discovered the same and would help in for the same.
In Elasticsearch it's called percolator.

GSA Search Result Logs

I am using GSA Appliance 7.2
We are planning to improve search experience for that I want to analyze search logs, In search logs we are getting only User Ip and search query link.
Other than this I want which link user clicked and in which page he got his search result like in 1st page or second page etc.
Please help me to get detailed search logs.
Thank you
There is the possibility to generate search reports in GSA admin console under Reports > Search Reports. These reports are sort of a summary in which you can see the following details:
Number of search queries per day;
Number of search queries per hour;
Top keywords;
Top search queries;
Position of clicks;
Page of clicks;
Top clicked URLs;
Top IPs of clients which are used to perform search queries.
With Reports > Serving Logs, you can per-query track clients and which search results where returned by GSA, but you can't analyze their click-behaviour and user-journey through a website. For that you'll need to implement Google Analytics, Omniture or any other web analytics. For a GSA-GA integration, please consult this document.

Does Google BigQuery support Full-Text search

I'm thinking about copying my text searchable content to Google's BigQuery and then perform full-text search using BigQuery API.
Does Google BigQuery support that scenario?
I could not find "search" command in Google BigQuery API:
https://developers.google.com/bigquery/docs/reference/v2/
BigQuery support a collection of RegEx and String query functions, making it suitable for text search queries across STRING fields. However, there is a 64k per row (and field) limit for each BigQuery record, so it may not possible to support a totally unstructured, unlimited size, document text search case.
https://developers.google.com/bigquery/docs/query-reference#stringfunctions
https://developers.google.com/bigquery/docs/query-reference#regularexpressionfunctions
For a full text search capabilities in an App Engine application, I would suggest looking at the new Search API:
https://developers.google.com/appengine/docs/python/search/overview
10 years late and here we are. Today (07/04/22) BigQuery launched It equivalent of Full Text Search. Here is the doc:
https://cloud.google.com/blog/products/data-analytics/pinpoint-unique-elements-with-bigquery-search-features/
The litecene library provides full-text search support for BigQuery using a "lucene light" syntax.
(smartphone OR "smart phone"~8 OR iphone OR "i phone" OR "apple phone" OR android OR "google phone" OR "windows phone") AND app*
It compiles the boolean query language down to regular expression matches. It also makes use of new BigQuery search features -- namely the SEARCH function and search indexes -- when possible, although at the time of this writing the searches supported by those features are fairly limited. Using litecene, full-text search can also be deployed against existing production datasets without any ETL changes or re-indexing using non-aggregate materialized views. The searches can target one or multiple columns.
Disclaimer: I am the author of the library.

Resources