Shawn,
On 8/25/23 13:04, Shawn Heisey wrote:
On 8/25/23 10:44, Shawn Heisey wrote:
On 8/25/23 10:21, Christopher Schultz wrote:
I believe we have only used Solr 7 and above. Is there a way to
confirm without actually /trying/ it?
There is this very cool endpoint shared by Rahul that I did not know
about:
I can confirm that running this shell script will completely clear out
the versions:
DEL_ALL_QUERY_XML="<delete><query>*:*</query></delete>"
SOLR_URL_BASE="${SOLR_SCHEME}://${SOLR_HOST}:${SOLR_PORT}/solr"
DOVECOT_SOLR_UPDATE_URL="${SOLR_URL_BASE}/${INDEX_NAME}"
curl -m 2 -f -s \
"${DOVECOT_SOLR_UPDATE_URL}/update?commit=true&optimize=true&wt=json" \
-H "Content-Type: text/xml" \
--data-binary "${DEL_ALL_QUERY_XML}"
This runs very quickly. I include optimize=true just to make sure that
old segments are actually deleted. It's probably not required ... I'm
just being cautious.
I would still recommend a reload or restart after doing that. Reload is
faster and less disruptive than restart.
The main reason that I recommend deleting index* directories and
reloading the index on reindex is to ensure certain schema changes will
work without issue. In this case, I don't think you're changing the
schema.
Indeed, I am not changing the schema.
My re-index process includes an optional delete-all which I believe will
execute something like what you have above. But I'm neither requesting a
commit nor an optimize as part of that. I've done this many times and
still the index (via Luke) says that it's 7.4-or-later.
I'll try to hit the API endpoint you reference above to see what it
says. It's a little bit of a PITA because we are using mutual-TLS
authentication and the key+cert to connect to Solr is stored in our
RDMBS. It'd doable... just not terribly convenient. Is there a SolrJ API
I can call to get that info>? It might be slightly more convenient to do
it that way.
-chris