Create CouchBase FTS from application - full-text-search

Is there a way to create CouchBase FTS from an application?
The only way I could find in official documentation, is to create it manually from the web ui, but I need to do it from my application code.
Preferably from SDK (.net/C#), or at least by posting FTS definition to some url.

I'm assuming you mean an FTS index? If so, yes, you can definitely use the REST API to create indexes. I wrote a blog post on doing exactly that (I used Powershell, but the principle is the same).
The REST endpoint you use is a PUT to: couchbase:8094/api/index/your-index-name
In fact, if you look at the FTS UI, it should generate a cURL command for you. The Full Text Search API documentation has all the details.

Related

How to fetch BigQuery data into a springboot application?

I have a use case wherein I need to fetch data from GCP BigQuery database into my Springboot application and subsequently perform some operations on it. I'm unable to understand how to go about doing it. For example, how the application properties need to be configured for using BQ database, etc, nor was I able to find any good resource for the same.
Request you all to kindly guide me a bit on this. Would be great even if you could point me to a relevant resource!
Indeed there are no examples on Spring Cloud documentation. However there is nice sample on spring-cloud-gcp github.
There is small tutorial how to run it, so I think this will be good starting point.

Sitecore with Oracle Commerce/ATG 11.3 and Endeca

Can anyone advice if is it possible Sitecore would work with Oracle Commerce/ATG 11.3 and Endeca?
There is no reason why it can't be integrated, it depends how deeply you want to integrate it. For example SiteCore exposes a RESTful API that allows you to get to individual content items.
Since you mention Endeca as well, I assume you want to be able to index the content too? For that you will probably have to develop your own CAS connector, potentially hooking in to the SiteCore search functionality.
There may be other APIs to hook into as well but since your question is whether it is possible. The answer is still 'Yes'.
As for whether it is the right solution, that is a different question. What does SiteCore give you that the BCC doesn't? Can you migrate from SiteCore to the BCC? Does SiteCore expose other APIs that will allow them to be 'read-only' stores in an ATG application (BCC or Storefront)? Many options exist.

How to build parent child relationship search in Elastic-search using Liferay API's?

We have a custom entity in Liferay called 'Publication'. It is indexed in Elastic-search and contains a field named 'journalArticleId'.
Based on our search requirements if some user searches for any keyword in the journal article we have to return the publication document which contains the 'journalArticleId' of the respective journal.
I found the solution for implementing this using Java API but I'm looking for the Liferay API to solve this.
Elastic Search Parent-Child Data Search Java API
Thanks in advance for any response.
for the extension of existing indexers you should try to implement an indexer post processor hook ... instead of actually overriding them with an ext plugin
link for 6.2
https://dev.liferay.com/de/develop/tutorials/-/knowledge_base/6-2/extending-the-indexer-post-processor-using-a-hook
link for 7 aka dxp
https://dev.liferay.com/de/develop/reference/-/knowledge_base/7-0/indexer-post-processor
You should be able to find documentation for overriding an indexer. It sounds like you could just extend the existing Journal Indexer: Just add the additional Publication data to the full text index for the existing Journal article and it will be found automatically.
Edit (after your comment): Without looking it up, I assume that Liferay's encapsulation of the API does not really cater for parent-child relationships (but: I might be wrong, it might be in or easy). However, Liferay also allows you to exchange Elasticsearch with SOLR (and potentially others) so its API naturally doesn't use all of the features of the underlying search engines. However, you should always be able to make the extra calls yourself - probably not in the indexer but closer to the ES adapter.
The solution might be: Prepare the content in the Indexer and separate it into parent and child later, in the Elasticsearch adapter.
The elastic search provides features for parent-child mapping and the solution for the above situation can be implemented using Java API.
Elastic Search Parent-Child Data Search Java API
We have contacted the Liferay support team and they responded that the Liferay-elasticsearch adapter doesn't support this feature yet.
version : liferay-dxp-digital-enterprise-7.0-sp3

Spring data for Amazon DynamoDB

We are starting to use Amazon web services. As I was searching for a Spring library, but couldn't find anything. Is this a case of there has been a decision made to not include this functionality or has no one provided any code. Is there any interested in having a spring-data-dynamodb?
there are plenty of examples out of there. Take a look at this one: It should be very interesting: https://github.com/michaellavelle/spring-data-dynamodb
[UPDATE]
That project is out to date right now, you should use this one: https://github.com/derjust/spring-data-dynamodb

elasticsearch in a single page application

I am looking for some high level advice on the following:
I want to use elasticsearch in an ember.js single page application.
I have a sinatra application which is the API layer for this application.
What would be the best way of utilising elasticsearch?
Should I create a proxy layer in the sinatra application that creates elasticsearch queries and transforms the results into the appropriate ember.js models?
I don't think that querying the elasticsearch API directly is a good idea.
Both might be valid approaches but I would say you better stick with the sinatra "proxy".
Here are some reasons:
Easier to change implementation of the search engine. Maybe you want to use Solr later on?
Control usage
ElasticSearch is like a database. Do you want to give direct access to the end user?
What if you want to monitor the search your users make? With sinatra in the middle this is really easy.

Resources