msokolov commented on PR #13572:
URL: https://github.com/apache/lucene/pull/13572#issuecomment-2239023786

   > An alternative option to putting this in core, is to put it in say misc, 
allowing users creating KnnVectorsFormat to hook into it through the 
Lucene99FlatVectorsFormat and FlatVectorsScorer. That way it would be somewhat 
optional in the build and distribution.
   
   There are a few issues with distributing native-built methods that I can 
see. First, building becomes more complicated - you need a compiler, the build 
becomes more different on different platforms (can we support windows?), and 
when building you might have complex needs like targeting a different platform 
(or more platforms) than you are building on. Aside from building, there is the 
question of distributing the binaries and linking them into the runtime. I 
guess some command-line option is required in order to locate the .so (on 
linux) or .dll or whatever? And there can be environment-variable versions of 
this. So we would have to decide how much hand-holding to do. Finally we'd want 
to build the java code so it can fall back in a reasonable way when the native 
impl is not present. But none of this seems insurmountable. I believe Lucene 
previously had some native code libraries in its distribution and we could do 
so again.  I'm not sure about the core vs misc distinction, I'd be
  OK either way, although I expect we want to keep core "clean"? 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to