1

We are using the Search API module to implement the search pages on the site.

Current setup:

  1. A custom backend to store the index. It is powered by Lucene. We were able to get a new search API backend plugin to do CRUD on the indexes.
  2. This backend also implements the search functionality. It is implemented alright and I am able to retrieve the results in the view of the index.

Requirement: The custom backend is used by other sites as well (not necessarily on Drupal) to store their index. I want to display results of these sites as well whenever a user does a search on our site.
However, there seems to a limitation in a way Search API module works.

In the custom backend we created, there are following lines which are responsible for letting the module know about the results

$item = $this->getFieldsHelper()->createItem($index, $row->item_id);
$results->addResultItem($item);

We took the Database backend as a reference to build this custom functionality from the search_api_db module which is a part of the search_api module.

Question: How do I display results from other sites along with the current Drupal site?

1 Answer 1

0

My guess is that you will not be able to do this with the standard search view process. I believe that views does some linking of results to content that exists on the site. So remote content will be filtered out.

That said, you can get what you want if you use the native Solr query requests. These return the raw json (or xml) data from the server. You can use this with custom code to display your results.

See the solr tutorial on how to create queries.

A site I used to manage used this with Angular.js to manage some really complex searches.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.