opensolr-haystack 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (15) hide show
  1. {opensolr_haystack-0.2.0/opensolr_haystack.egg-info → opensolr_haystack-0.2.1}/PKG-INFO +23 -1
  2. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/README.md +22 -0
  3. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/haystack_integrations/document_stores/opensolr/client.py +9 -2
  4. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1/opensolr_haystack.egg-info}/PKG-INFO +23 -1
  5. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/pyproject.toml +1 -1
  6. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/LICENSE +0 -0
  7. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/haystack_integrations/components/retrievers/opensolr/__init__.py +0 -0
  8. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/haystack_integrations/components/retrievers/opensolr/retriever.py +0 -0
  9. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/haystack_integrations/document_stores/opensolr/__init__.py +0 -0
  10. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/haystack_integrations/document_stores/opensolr/store.py +0 -0
  11. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/opensolr_haystack.egg-info/SOURCES.txt +0 -0
  12. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/opensolr_haystack.egg-info/dependency_links.txt +0 -0
  13. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/opensolr_haystack.egg-info/requires.txt +0 -0
  14. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/opensolr_haystack.egg-info/top_level.txt +0 -0
  15. {opensolr_haystack-0.2.0 → opensolr_haystack-0.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensolr-haystack
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Haystack integration for Opensolr — managed Apache Solr DocumentStore with server-side embeddings and hybrid BM25+kNN retrieval
5
5
  Author-email: Opensolr <support@opensolr.com>
6
6
  License: MIT
@@ -121,4 +121,26 @@ entry? Configure the **Web Crawler** in the Control Panel (Index Tools →
121
121
  WebCrawler): add your site URL, validate it, and Opensolr indexes the whole
122
122
  site for you.
123
123
 
124
+ ## How it's tested
125
+
126
+ Every release is validated against **live Opensolr infrastructure** — no mocks:
127
+
128
+ - **Unit tests** (offline): location aliases, filter→fq mapping, query building, escaping.
129
+ - **End-to-end suite**: the full write path through the async Data Ingestion
130
+ queue (queued → server-side enrichment → searchable), semantic / hybrid /
131
+ lexical retrieval, metadata round-trip, filters, id round-trip (your ids
132
+ and the Solr `md5(uri)` ids), deletes by id and by query.
133
+ - **Real-corpus validation**: searches run against a 340-document replica of
134
+ opensolr.com's own production search index. Verified: pure-semantic hits
135
+ with zero keyword overlap ("how do I get my data back after a disaster" →
136
+ backup &amp; restore docs), cross-lingual queries (Romanian query → English
137
+ content), exact-term surfacing in hybrid mode, all four hybrid modes, and
138
+ the full alpha range 0 → 1.
139
+ - **PDF ingestion**: a real PDF ingested via `rtf:true` — server-side text
140
+ extraction (13k+ chars), automatic content-type detection, then retrieved
141
+ with a purely semantic query against its contents.
142
+
143
+ The store is exercised live (write via ingestion, DuplicatePolicy SKIP/FAIL,
144
+ hybrid + lexical retrieval, filters, serde round-trip) before every release.
145
+
124
146
  MIT license.
@@ -103,4 +103,26 @@ entry? Configure the **Web Crawler** in the Control Panel (Index Tools →
103
103
  WebCrawler): add your site URL, validate it, and Opensolr indexes the whole
104
104
  site for you.
105
105
 
106
+ ## How it's tested
107
+
108
+ Every release is validated against **live Opensolr infrastructure** — no mocks:
109
+
110
+ - **Unit tests** (offline): location aliases, filter→fq mapping, query building, escaping.
111
+ - **End-to-end suite**: the full write path through the async Data Ingestion
112
+ queue (queued → server-side enrichment → searchable), semantic / hybrid /
113
+ lexical retrieval, metadata round-trip, filters, id round-trip (your ids
114
+ and the Solr `md5(uri)` ids), deletes by id and by query.
115
+ - **Real-corpus validation**: searches run against a 340-document replica of
116
+ opensolr.com's own production search index. Verified: pure-semantic hits
117
+ with zero keyword overlap ("how do I get my data back after a disaster" →
118
+ backup &amp; restore docs), cross-lingual queries (Romanian query → English
119
+ content), exact-term surfacing in hybrid mode, all four hybrid modes, and
120
+ the full alpha range 0 → 1.
121
+ - **PDF ingestion**: a real PDF ingested via `rtf:true` — server-side text
122
+ extraction (13k+ chars), automatic content-type detection, then retrieved
123
+ with a purely semantic query against its contents.
124
+
125
+ The store is exercised live (write via ingestion, DuplicatePolicy SKIP/FAIL,
126
+ hybrid + lexical retrieval, filters, serde round-trip) before every release.
127
+
106
128
  MIT license.
@@ -138,9 +138,16 @@ class OpensolrClient:
138
138
  f"Currently available: {sorted(live)}. Additional regions can "
139
139
  f"be deployed on request — contact support@opensolr.com."
140
140
  )
141
- return self.mgmt(
142
- "create_index", index_name=index, core_type="generic", server_country=env
141
+ # create_index reads its params from the query string (GET) server-side
142
+ resp = self._http.post(
143
+ f"{MGMT_BASE}/create_index",
144
+ params={"index_name": index, "core_type": "generic", "server_country": env},
145
+ data=self._auth_params(),
143
146
  )
147
+ body = resp.json()
148
+ if isinstance(body, dict) and body.get("status") is False:
149
+ raise OpensolrError(f"create_index: {body.get('msg', body)}")
150
+ return body
144
151
 
145
152
  # ------------------------------------------------------------------ #
146
153
  # AI #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensolr-haystack
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Haystack integration for Opensolr — managed Apache Solr DocumentStore with server-side embeddings and hybrid BM25+kNN retrieval
5
5
  Author-email: Opensolr <support@opensolr.com>
6
6
  License: MIT
@@ -121,4 +121,26 @@ entry? Configure the **Web Crawler** in the Control Panel (Index Tools →
121
121
  WebCrawler): add your site URL, validate it, and Opensolr indexes the whole
122
122
  site for you.
123
123
 
124
+ ## How it's tested
125
+
126
+ Every release is validated against **live Opensolr infrastructure** — no mocks:
127
+
128
+ - **Unit tests** (offline): location aliases, filter→fq mapping, query building, escaping.
129
+ - **End-to-end suite**: the full write path through the async Data Ingestion
130
+ queue (queued → server-side enrichment → searchable), semantic / hybrid /
131
+ lexical retrieval, metadata round-trip, filters, id round-trip (your ids
132
+ and the Solr `md5(uri)` ids), deletes by id and by query.
133
+ - **Real-corpus validation**: searches run against a 340-document replica of
134
+ opensolr.com's own production search index. Verified: pure-semantic hits
135
+ with zero keyword overlap ("how do I get my data back after a disaster" →
136
+ backup &amp; restore docs), cross-lingual queries (Romanian query → English
137
+ content), exact-term surfacing in hybrid mode, all four hybrid modes, and
138
+ the full alpha range 0 → 1.
139
+ - **PDF ingestion**: a real PDF ingested via `rtf:true` — server-side text
140
+ extraction (13k+ chars), automatic content-type detection, then retrieved
141
+ with a purely semantic query against its contents.
142
+
143
+ The store is exercised live (write via ingestion, DuplicatePolicy SKIP/FAIL,
144
+ hybrid + lexical retrieval, filters, serde round-trip) before every release.
145
+
124
146
  MIT license.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "opensolr-haystack"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "Haystack integration for Opensolr — managed Apache Solr DocumentStore with server-side embeddings and hybrid BM25+kNN retrieval"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }