Wouldn't it make sense for this module to be re-written as a Search API plugin? This has already been requested in the Search API issue queue: http://drupal.org/node/1439798. Would the maintainer(s) of this module be able to assist with the creation of such a module?

Comments

mpgeek’s picture

@captiandav, i think that makes boatloads of sense. The original 7.x implementation was a hijack of core search for design patterns. As such, it has limitations. I was thinking along those lines for the 8.x version, but if you are willing to throw some time at this, I (and perhaps a few other regular users of this module) can assist with reviewing and getting it working. Were you thinking 8.x or 7.x?

iamEAP’s picture

I'd need to dig in to the Search API, but I have initial reservations. Utmost is: how will indexed content in GSA from outside of Drupal be handled?

mpgeek’s picture

I, too, would need to dig a little and figure out how we can provide results. It boils down to third-party integration. My initial thought is there's a lot of duplication between core search and google_appliance, and if there's a way to make it leaner (provide structured data only) then I think it makes sense. I'm working with Search API on another project right now so, i'll think about it while get up to speed with that. Feel free (anyone) to deposit two cents.

cdnsteve’s picture

It would be great if the Core Search API could be extendable to plugin to different search source datasources as needed.
EG:

Internal Search (Core)
Google Search Appliance
Google Custom Search
AWS CloudSearch
Any other search sources, maybe Solr?

The core search could be more of a framework for working with any search provider, easily extended.

captaindav’s picture

@mpgeek: Sorry it took me so long to reply. To answer your question, we need a 7.x version, and have some resources available for the port. If you were able to answer some occasional questions via the module issue queue and provide guidance along the way, that would be great!

mpgeek’s picture

@captaindav, i'd be happy to answer questions and review patches for this. If there is a sensible way to implement as SAPI plugin, i think it makes sense. I'm wondering if it should be a separate project, though? We can't alienate users of the full module. Perhaps at least a 7.x-2.x branch would be best. Thoughts?

captaindav’s picture

Yes that is a good point, I do thing that it would make sense for it to be a separate project.

The search api module plugins usually start with search_api, for example, search_api_solr. So I guess the name would be search_api_google_appliance or search_api_gsa?

If the SAPI plugin approach could be proven in Drupal 7, then only the SAPI plugin module would need ported to Drupal 8.

mpgeek’s picture

@captiandav, I would vote for search_api_google_appliance for clarity. I like the idea of minimizing the D8 port.

fgm’s picture

There's such a provider being written at one of my customer's sites. I expect it will be submitted rather sooner than later.

mpgeek’s picture

Is this d7 or d8?

fgm’s picture

It is for D7. No work underway for D8 at this time, since this is code targeted for production.

mausolos’s picture

Issue summary: View changes

I'm curious about whether this effort ever got underway, and if so, where the current codebase is for it? I don't know how much time I have to help with raw development, but I'd certainly be glad to spend some time doing QA/bug fixes if/when you have some functions or a module to test...

mpgeek’s picture

@mausolos, as far as I can tell nothing happened towards this issue.

fgm’s picture

Yes, the module was released internally around the time I mentioned. I'll double check when/if public release is planned.

iamEAP’s picture

@fgm, please do. I'm keen to pull some of that in, if possible.

That being said, based on conversations I've had with Nick Veenhof, I'm not 100% sure how well and to what extent Google Appliance and Search API can be integrated; so much of the API is related to indexing, which is obviously not necessary for GSA.

iamEAP’s picture

Any updates from anyone on this thread about this?

Also, just officially linking the aforementioned Search API issue with this...

fgm’s picture

Forgotten to follow-up here : actually public release has not been approved and likely won't be.

mausolos’s picture

It might well not be reasonable or possible to figure out how to integrate GSA search with Search API. However, there are some specific things I'd like to see from GSA at some point, one way or another.

The level of integration I'd like to see is a bit more collaboration between Drupal and GSA, and that the results coming back are a bit smarter. Is this link an Entity? What kind, a Node? Taxonomy? User? Can I get Display Suite to render the Entities in specific ways? Can I have Views intercept the results so I can do cool things with filters and relationships and blocks? (How cool would it be to have a smart, related search block on certain high-traffic pages that uses the clean URL as a search query? "If you like this article, check out these (with photos and author link)")

These are things we get with SearchAPI, and I think there might be some ways to get this out of GSA as well. For instance, what if we used metadata to indicate the nid or tid or uid, as well as the Entity type and a site-specific identifier? That's really all we need, isn't it?

On the OTHER hand...

At my company, we use GSA as a large area search service. That is, we have many sites being indexed throughout the company, and we're returning results for many of them from on our intranet (the Drupal site). The Drupal intranet site itself is a multi-site beast, and in fact I'm redirecting results from any search form on any of the multi-site sub-sites to the "main" site (the one with the base URL). So even if we did have this higher integration available, it would be almost useless to me except for the Entities that just happen to be on that main site.

So here's something I've done to work around this. I use local SearchAPI indices in conjunction with the GSA. I created a views block with search_api_views that references the user index. Then I can return a result for users with photos and links to the user accounts above the GSA results. I suppose I could add tabs on my search results page that trigger views pages/blocks results of other local index results (maybe a list of hotels, or a calendar, or whatever, YMMV).

Still, I would architect my search pages differently if I knew I could get rich, local results.