# OpenSearch Lucene Study Group Meeting - Monday, January 29th, 2024

**URL:** <https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-29th-2024/17602>\
**Category:** Community\
**Tags:** community-meeting\
**Created:** [January 27, 2024, 1:35am UTC](https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-29th-2024/17602 "2024-01-27T01:35:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![msfroh](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@msfroh](https://forum.opensearch.org/u/msfroh)\
**Post date:** [January 27, 2024, 1:35am UTC](https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-29th-2024/17602/1 "2024-01-27T01:35:58Z")

</div>

Sign up to join the meeting at Meetup:

> **[OpenSearch Lucene Study Group, Mon, Jan 29, 2024, 9:00 AM | Meetup](https://www.meetup.com/opensearch/events/298812970/)**
>
> Welcome to the OpenSearch Lucene Study Group!
> 
> \[Apache Lucene\](https://lucene.apache.org/) is the open-sourced search library that powers OpenSearch and many search applica

Link to previous meeting’s post: [OpenSearch Lucene Study Group Meeting - Monday, January 22nd, 2024](https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-22nd-2024/17492)

Welcome to the OpenSearch Lucene Study Group!

[Apache Lucene](https://lucene.apache.org) is the open-sourced search library that powers OpenSearch and many search applications large and small.

We start the meeting with a Lucene learning topic or Q&A session. In the second half of the meeting, we review recent developments in Apache Lucene and discuss their potential impact to OpenSearch, with a particular focus on new and exciting Lucene features that we can (and should) expose through OpenSearch. Since some changes require a deep dive to fully understand, we sometimes ask participants to volunteer for “homework” to dig deeper into changes and report back for the next meeting.

Standing Agenda:

- Welcome / introduction (5 minutes)
- Lucene learning series - someone will either present a Lucene-related talk or we will do Lucene Q&A (20 minutes, recorded)
- Review assigned issues from last time (10 minutes)
- Review new Lucene changes and assign homework (20 minutes)

_By joining the OpenSearch Lucene Study Group Meeting, you grant OpenSearch, and our affiliates the right to record, film, photograph, and capture your voice and image during the OpenSearch Community Meeting (the “Recordings”). You grant to us an irrevocable, nonexclusive, perpetual, worldwide, royalty-free right and license to use, reproduce, modify, distribute, and translate, for any purpose, all or any part of the Recordings and Your Materials. For example, we may distribute Recordings or snippets of Recordings via our social media outlets._

---

<div class="post-metadata">

**Author:** ![msfroh](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@msfroh](https://forum.opensearch.org/u/msfroh)\
**Post date:** [January 27, 2024, 1:59am UTC](https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-29th-2024/17602/2 "2024-01-27T01:59:26Z")

</div>

Proposed topic for discussion: Could we build a Solr compatibility layer on top of OpenSearch?

Abstract: [Solr](https://solr.apache.org/) is a search server that interfaces really well with Lucene (which makes sense, since they were a single Apache project for years). The Solr component abstractions are nice and powerful. There are lots of reasons why folks have adopted Solr over the years. On the other hand, OpenSearch is probably a better distributed solution than SolrCloud (though I’m obviously biased). What if people could have both? I think it would be possible (but not easy) to create an OpenSearch plugin that “runs” Solr on top of OpenSearch. Suppose the plugin exposes a special “create index” API that takes a Solr schema and config, translates the schema into an OpenSearch mapping, and creates an OpenSearch index. (The config is harder, but UpdateRequestProcessors could be integrated with ingest pipelines and SearchComponents could be integrated with some combination of search plugins and search pipelines. 👋 _wavy hands_ 👋) At query time, the plugin could use Solr itself (as a library) to translate Solr requests into Lucene logic that we would execute against OpenSearch index shards.

---

<div class="post-metadata">

**Author:** ![msfroh](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@msfroh](https://forum.opensearch.org/u/msfroh)\
**Post date:** [January 29, 2024, 4:31pm UTC](https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-29th-2024/17602/3 "2024-01-29T16:31:27Z")

</div>

Here is this week’s list of Lucene changes. The most urgent items are the bugs found in 9.9.1, which led to the release of 9.9.2 today. @reta has already created the pull request to update OpenSearch: [Update to Apache Lucene 9.9.2 by reta · Pull Request #12063 · opensearch-project/OpenSearch · GitHub](https://github.com/opensearch-project/OpenSearch/pull/12063).

| Version | Category | Description | Link |
| --- | --- | --- | --- |
| Lucene 9.10.0 | Improvements | Support getMaxScore of ConjunctionScorer for non top level scoring clause. | [https://github.com/apache/lucene/issues/13043](https://github.com/apache/lucene/issues/13043) |
| Lucene 9.10.0 | Optimizations | PointRangeQuery now exits earlier on segments whose values don't intersect with the query range. When a PointRangeQuery is a required clause of a boolean query, this helps save work on other required clauses of the same boolean query. | [https://github.com/apache/lucene/issues/13033](https://github.com/apache/lucene/issues/13033) |
| Lucene 9.10.0 | Optimizations | ReqOptSumScorer will now propagate minimum competitive scores to the optional clause if the required clause doesn't score. In practice, this will help boolean queries that consist of a mix OF FILTER clauses and SHOULD clauses. | [https://github.com/apache/lucene/issues/13026](https://github.com/apache/lucene/issues/13026) |
| Lucene 9.10.0 | Bug Fixes | Fix a bug in ShapeTestUtil. | [https://github.com/apache/lucene/issues/12287](https://github.com/apache/lucene/issues/12287) |
| Lucene 9.10.0 | Bug Fixes | ScorerSupplier created by QueryProfilerWeight will propagate topLevelScoringClause to the sub ScorerSupplier. | [https://github.com/apache/lucene/issues/13031](https://github.com/apache/lucene/issues/13031) |
| Lucene 9.9.2 | Bug Fixes | Fix NPE when sampling for quantization in Lucene99HnswScalarQuantizedVectorsFormat | [https://github.com/apache/lucene/issues/13027](https://github.com/apache/lucene/issues/13027) |
| Lucene 9.9.2 | Bug Fixes | Rollback the tmp storage of BytesRefHash to -1 after sort | [https://github.com/apache/lucene/issues/13014](https://github.com/apache/lucene/issues/13014) |

---

<div class="post-metadata">

**Author:** ![msfroh](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@msfroh](https://forum.opensearch.org/u/msfroh)\
**Post date:** [January 29, 2024, 5:58pm UTC](https://forum.opensearch.org/t/opensearch-lucene-study-group-meeting-monday-january-29th-2024/17602/4 "2024-01-29T17:58:55Z")

</div>

Suggestion from Erik Hatcher: Look into the Solr tagger, since nobody else has that functionality.
