<div dir="ltr"><div dir="ltr">Thanks Paolo and Tom,<div><br></div><div>I copied the Hypermap plugin into plugins/repository/elastic/elastic.py and hacked it down to bare bones. I added a "source" param to default.cfg that points to that module and now when I call GetRecords it takes me to the <i>query</i> method in <i>ElasticSearchRepository</i>. Whoop!! I then started working on a method that that uses the <a href="http://docs.python-requests.org/en/master/">requests</a> library to call my ES service. But then I got Tom's suggestion to modify csw2.py and add fes2es modules but now I'm not sure how to merge these into what I have. Any and all pointers welcome.</div><div><br></div><div>Mike</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 9 Oct 2018 at 02:46, Tom Kralidis <<a href="mailto:tom.kralidis@gmail.com">tom.kralidis@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Mike: thanks for the info and your interest in pycsw.<br>
<br>
In the context of providing an 'outbound' CSW endpoint against an Elasticsearch<br>
backend (this means the ES index already exists, and you want to bind pycsw<br>
atop it), a repository plugin is the suggested approach.  The job of the plugin<br>
would be to 1./ translate CSW queries into ES queries 2./ execute the ES<br>
queries and 3./ format ES search results into pycsw objects back to the caller<br>
<br>
There is an example in [1] that shows an example of OGC Filter to ES queries but<br>
needs more development and testing.  Note that for ES spatial queries the<br>
geo_shape type is recommended.<br>
<br>
Hope this helps.<br>
<br>
..Tom<br>
<br>
[1] <a href="https://gist.github.com/tomkralidis/6919d32da01b62b5b4e76b9254751e9b" rel="noreferrer" target="_blank">https://gist.github.com/tomkralidis/6919d32da01b62b5b4e76b9254751e9b</a><br>
<br>
On Thu, Oct 4, 2018 at 9:21 AM Mike Metcalfe <<a href="mailto:mike@webtide.co.za" target="_blank">mike@webtide.co.za</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> On IRC recently @tomkralidis suggested I consider using the pycsw/HHyperman integration as the model on which to base the development of an elastic plugin.  Knowing hardly anything about pycsw, after reading this PR I had assumed I'd be writing a backend that would query ES and instead of a  SQL database. But the docs say "pycsw is enabled and configured by default in HHypermap".  Now after reading #208,  #410 and #95 I'm totally confused where to start.<br>
><br>
> Please advise.<br>
><br>
> --<br>
> Mike Metcalfe<br>
><br>
> 082 903 8268<br>
> <a href="mailto:mike@webtide.co.za" target="_blank">mike@webtide.co.za</a><br>
> <a href="http://www.webtide.co.za" rel="noreferrer" target="_blank">www.webtide.co.za</a><br>
> _______________________________________________<br>
> pycsw-devel mailing list<br>
> <a href="mailto:pycsw-devel@lists.osgeo.org" target="_blank">pycsw-devel@lists.osgeo.org</a><br>
> <a href="https://lists.osgeo.org/mailman/listinfo/pycsw-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pycsw-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div>Mike Metcalfe</div><div><br></div><div>082 903 8268</div><div><a href="mailto:mike@webtide.co.za" target="_blank">mike@webtide.co.za</a></div><div><a href="http://www.webtide.co.za/" target="_blank">www.webtide.co.za</a></div></div>