Skip to content

Local search: path-scoped suggestions, explicit path_prefix wins (#101) - #104

Open
reekitconcept wants to merge 1 commit into
mainfrom
kid/local-scope-main
Open

Local search: path-scoped suggestions, explicit path_prefix wins (#101)#104
reekitconcept wants to merge 1 commit into
mainfrom
kid/local-scope-main

Conversation

@reekitconcept

Copy link
Copy Markdown
Member

Revival of #102 (closed during the delivery consolidation). Fixes #101 items 1 and 2 on the release line — port of the local-scoping fixes from feature-ai-rag (#103), without the AI-search parts:

  • @solr-suggest accepts an optional path_prefix and filters with path_parents, so livesearch suggestions honor a subtree scope like the search results do — integration test included (TestSuggestPathPrefix, same test as on the feature line).
  • searchPathPrefix(): an explicit path_prefix URL param wins over the getPathPrefix heuristic, which treats every single-segment path as a language root (/de, /en) and silently dropped the prefix for top-level subsites/workspaces.

Item 3 of #101 (multilingual handling neutralizing path_prefix on sites without plone.app.multilingual) remains open.

Not to be merged yet — queued for the release line together with #96 and #99.

Port of the local-scoping fixes from the feature-ai-rag line (#100),
without the AI-search parts:

- @solr-suggest accepts an optional path_prefix and filters with
  path_parents, so the livesearch suggestions honor a subtree scope
  like the search results do (integration test included; pathPrefix
  argument on the solrSearchSuggestions action).
- searchPathPrefix(): an explicit path_prefix URL param wins over the
  getPathPrefix heuristic, which treats every single-segment path as a
  language root and silently dropped the prefix for top-level subsites
  and workspaces.

The multilingual path handling neutralizing path_prefix on non-PAM
sites (#101 item 3) remains open.

Merge pull request #84 from kitconcept/fix-navigation-lint

Fix three RUF005 lint violations invisible to CI
Fix three RUF005 lint violations invisible to CI

The plone/meta backend-lint workflow runs 'ruff check --diff', which
only reports violations with a SAFE autofix and exits 0 otherwise -
RUF005's fix is classified unsafe, so these three pre-existing
violations never failed CI while a plain 'ruff check' reports them.
Fixed with behavior-identical tuple unpacking; navigation tests
green.

Merge pull request #78 from kitconcept/fix-acceptance-tika-orphan

Stop tika-acceptance container when stopping the acceptance backend
CI: run acceptance jobs when the Makefile changes

The acceptance CI run is driven entirely by Makefile targets
(ci-images-load, ci-containers-start, ci-test), but the acceptance
paths-filter did not include the root Makefile, so Makefile-only changes
that affect how the acceptance stack is built/started/tested did not
trigger the acceptance jobs. Add 'Makefile' to the acceptance filter.

Stop tika-acceptance container when stopping the acceptance backend

`make acceptance-backend-dev-start` ran `docker compose up backend-acceptance
solr-acceptance`, pulling in tika-acceptance only as a solr-acceptance
dependency. docker compose up stops the services it was given on Ctrl-C but
leaves such dependencies running, orphaning the tika container. Name
tika-acceptance explicitly in the up command so it is stopped too.

Merge pull request #77 from kitconcept/retag-solr-image-workflow

Add manual workflow to retag the Solr image
Add manual workflow to retag the Solr image on ghcr.io

Merge pull request #76 from kitconcept/solr-image-release-tag

Tag the Solr image with the release number
Tag the Solr image with the release number on release-tag pushes

Release 2.0.0a14

Merge pull request #75 from kitconcept/overflow-facets

Fix grey bars around facets in search
Add changeLog

Fix grey bars around facets in search

Merge pull request #74 from kitconcept/hide-empty-search-tabs

Hide empty search tabs container on empty search term
Hide empty search tabs container on empty search term

Merge pull request #73 from kitconcept/fix-vector-image

Fix dense vector field schema and guard CI against solr-only regressions
ci: also run backend tests on solr/ changes

news entries for vector schema fix and CI guardrails

ci: run acceptance and smoke-test solr image on solr/ changes

A solr-only change like the broken DenseVectorField attribute slipped
through CI because:

- main.yml's push trigger and config.yml's acceptance path-filter both
  excluded solr/**, so the acceptance suite (the only thing that boots
  Solr) never ran for solr-only PRs.
- solr.yml built and pushed the image but did not start it, so a schema
  that fails to load on core startup still produced a green build.

Add solr/** to both filters so acceptance runs on solr-only PRs against
the locally-built solr-acceptance service, and add a smoke-test step to
solr.yml that boots the freshly built image and pings the plone core
before the multi-arch push.

fix DenseVectorField param: hnswEfConstruction -> hnswBeamWidth

hnswEfConstruction is not a recognized attribute on solr.DenseVectorField
in Solr 9.10, causing the plone core to fail to load on startup. The
correct attribute name is hnswBeamWidth.

Merge pull request #72 from kitconcept/add-dense-vector-field

Add dense vector field
strore content vector field

replace hnswBeamWidth param with hnswEfConstruction, set similarityFunction to dot_product & remove params with default values

add dense vector field type and field

release 2.0.0a13

Merge pull request #71 from kitconcept/63-vocab-support

Add vocabulary support for facet conditions (#63)
lint

Add upgrade step for registry record schema

Add vocabulary support for facet conditions (#63)

- Add useVocab/useVocabs hooks with VocabContext for caching and batched
  fetching
- Extend fieldList config to support vocabulary references (name,
  isMultilingual)
- Return vocabulary metadata from backend search endpoint
- Wire vocabulary labels into SearchConditions and SearchConditionsField
- Hide search prefix box for vocabulary-backed facet fields
- Fix useSelector rerenders in SolrSearchAutosuggest and routes
- Fix livesearch widget exception during text changes
- Fix test_services_navigation.py which used the wrong layer and
  corrupted ZODB state
- Add INSTRUCTIONS.md with documentation for vocabulary support and
  calculated fields
- Add tests for VocabContext, useVocab, useVocabs, and backend
  vocabulary parsing

Merge pull request #70 from kitconcept/extra-contact-fields-person

Extra fields for Person content type
index fields

update schema

add job title field

add fields to schema

Release 2.0.0a12

Merge pull request #69 from kitconcept/add-missing-navtree-with-excluded-backend

Add navigation_with_excluded backend service
Add navigation_with_excluded service for breadcrumbs with excluded items

Add a new navigation expander and REST API endpoint that returns the full
navigation tree including items marked as exclude_from_nav. This is needed
for displaying breadcrumb titles in global search results where intermediate
items may be hidden from navigation.

The frontend part was already included, this is to add the backend part
which has been missing.

Release 2.0.0a11

Merge pull request #67 from kitconcept/add-missing-exports-in-package

Add missing exports in package.json to fix eslint errors in consumers
Update frontend/packages/volto-solr/package.json
Add missing exports in package.json to fix eslint errors in consumers

Release 2.0.0a10

Merge pull request #65 from kitconcept/update-core

Make sure existing cores get config updates
Merge pull request #61 from kitconcept/fhnw-features

WIP Add FHNW Solr features: spellcheck, collate, highlighting, and frontend helpers
Add .mxdev_cache/ to gitignore

Bump collective.solr to >=9.4.0

Update upgrade step to not destroy existing customizations

Run make format

Add getNavigationExcluded explanation to the readme

Add documentation

Add exception guard for extra condition config containing != 3 elements

Remove unnecessary memoization from solr extra_conditions

Use 400 Bad Request instead of 500 in configuration errors

Update changelog news

- separate issues for both frontend, backend, and root

Revert solrconfig params to explicitly submitted params

... for compatibility with collective.solr, which also uses this service.

Make sure existing cores get config updates

Add highlighting support for title and description fields in search results

- Update all ResultItem templates to display highlighted titles when
  search terms match in the Title field
- Add highlighting_description support with fallback to body highlighting
- Add tests for highlighting_title and highlighting_description fields

Add explicit module entry point to fix namespace package loading

The plone.autoinclude loader derives module names from project names
using: `wsdist.project_name.replace("-", "_")`

For kitconcept.solr this produces the wrong import path:
- Project name: kitconcept.solr → PEP 503 normalized: kitconcept-solr
- After replace("-", "_"): kitconcept_solr
- Actual import path: kitconcept.solr (namespace package with dot)

The fix-25 branch (plone/plone.autoinclude#25) addressed this for
z3c.autoinclude.plugin entry points but not for plone.autoinclude.plugin.

Workaround: explicitly set module = "kitconcept.solr" so the loader
uses the specified value instead of deriving it incorrectly.

Refs: plone/plone.autoinclude#25
Refs: plone/Products.CMFPlone#4126

Add FHNW Solr features: spellcheck, collate, highlighting, and frontend helpers

NOTE: This changeset extends the backend API to support advanced search
features (spellcheck, collate, highlighting), and extends the frontend
API to allow projects to implement custom UX on top of kitconcept.solr's
capabilities.

It also fixes a critical bug where filtering by multiple facet
conditions failed to correctly disable voided conditions.

When using the built-in default search page, both search and suggest
work identically as before.

Backend:
- Add spellcheck with collate support for "did you mean" suggestions
- Add highlighting with alternate field support
- Add extra conditions filtering (content types, metadata fields)
- Fix facet conditions, portal type, and content fields handling
- Fix language handling and encoding issues
- Fix local search path prefix matching
- Update Solr configuration for spellcheck component
- Add upgrade step for highlighting field setup

Frontend:
- Add getCollationMisspellings helper for "did you mean" feature
- Add getSuggestions helper for extracting/sorting suggestions
- Add navigation_with_excluded Redux action and reducer
- Add SearchWidget customization to use SolrSearchWidget
- Updated resultItems/index.js to avoid inline re-export pattern

Tests:
- Add comprehensive spellcheck/collate tests
- Add highlighting endpoint tests
- Add extra conditions tests
- Add utility function tests

Release 2.0.0a9

Merge pull request #60 from kitconcept/add-responsibilities-field

Add responsibilities field to schema
add responsibilities field to schema

Merge pull request #59 from kitconcept/davisagli-patch-1

Update instructions for overriding Tika server URL
Fix documentation for configuring Tika URL
Update instructions for overriding Tika server URL

Fixed the method to override Tika server URL in Solr configuration.
Release 2.0.0a8

Merge pull request #58 from kitconcept/fix-tikka-vulnerability

Fix CVE-2025-66516: Upgrade to Solr 9.10 with external Tika server
fix Vale error

More accurate release note for the Python package

Make upgrade docs clearer that you have to start running a Tika service, and how to configure the connection to it

Upgrade to Solr 9.10 with external Tika server (CVE-2025-66516 fix)

- Upgrade Solr from 8 to 9.10
- Add external Tika server (3.2.3) to mitigate CVE-2025-66516
- Update solrconfig.xml for Solr 9 compatibility (luceneMatchVersion 9.12)
- Configure extraction handler to use external Tika server
- Remove deprecated local Tika library loading
- Add Makefile targets for solr-activate-and-reindex

Merge pull request #57 from kitconcept/publish-solr-image

Restore workflow for publishing solr image
changelog

Restore workflow for publishing solr image

Release 2.0.0a7

Merge pull request #55 from kitconcept/schema-intranet-fields

Add kitconcept.intranet fields to schema
changelog

Add kitconcept.intranet fields to schema

Release 2.0.0a6

Merge pull request #54 from kitconcept/fix-suggestion-service

Fix suggestion service to work with person search
Fix suggestion service

- Fix query string to match usage as in solr.py
- Add _language_settings method to handle language from request
  parameters
- Add permission filtering
- Adjust extra solr parameters to override parameters hardcoded in
  solrconfig.xml (to avoid the need to rebuild solr)

Caveat: the followings are not applied, and planned with v3 refactoring:

- path_prefix handling
- portal_type handling
- language filtering and is_multilingual handling are actually handled,
  but the parameters are not yet passed from the service caller.

changes from release

Merge pull request #53 from kitconcept/fix-suggestion-widget-component-definition

Fix solr search widget inline component definitions
Merge pull request #51 from kitconcept/fix-solrsearchwidget-a11y-props

Pass in aria props to the input in SolrSearchAutosuggest
Fix solr search widget inline functions

- shortenURL function should not be defined inline
- renderSuggestion function should stay inline but memoized

Pass in aria props to the input in SolrSearchAutosuggest

Release 2.0.0a4

Merge pull request #52 from kitconcept/fixintranetheader

Fixed CSS leak in VLT intranet header
Changelog

Fixed CSS leak in VLT intranet header

Release 2.0.0a3

Fix repository config

Merge pull request #50 from kitconcept/fix-broken-css

Fix broken css that broke sites due to search class
Fix broken css that broke sites due to search class

Release 2.0.0a2

Revert deletion of top-level news folder (#45)

* Revert deletion of top-level news folder.

* Run changelog check when news folder is modified
Add support for an autocomplete livesearch widget (#43)

* Add support for an autocomplete livesearch widget

Using code from the previous ree-add-livesearch branch, and adapting it
as needed to the new environment.

- add component
- add reducers
- wire in widget
- add missing svgs
- add missing dependencies
- miscellaneous styling fixes
  - fix the css of the builtin input
  - remove the border radius problem from the input (red border radius appeared):
  - add a gap to the flex layout after the icon.
  - remove the double slash from the path.
  - styling fixes for header input
  -css styling of the input field, fix padding
- necessary updates on solrSearchAutosuggest
  - enhance onChange with a second parameter
  - enhance css marker
  - provide {value} as a second parameter to onChange
  - fix inputRef handling - blur even without an inputRef prop
  - add state variable to be able to show the last executed search term
    instead of the current input value
  - make the input widget submittable
- update index.js in components
  - add queryStateFromParams, queryStateToParams to exports
  - also provide qs (query-string) for exporting from components
  - do not use exportDefaultFrom experimental syntax
- provide some volto utils via the registry

* fix lockfile

* fix changelog

* fix changelog

* fix changelog

* fix changelog

* fix linting

* fix linting

* fix linting

* fix linting

* fix linting

* fix className on input, fixes acceptance tests

* Fix CI

- move frontend changelog into the inner package
- move test_suggest.py to its location

---------

Co-authored-by: Balázs Reé <ree@greenfinity.hu>
Release 2.0.0a1

Update README and project's CHANGELOG

Convert to monorepo (#41)

* initial

* Adding front-end Solr support

- porting from previous packages

- SolrSearch component
  - remove customization markers
  - add routing to use custom options, improved setup
  - hide search input based on option

- add internationalized date formatting

- Fix content type filtering in solr sidebar search

* Remove "no results" info if the search word is empty

Currently we don't do an empty search for all results in the site, but
yet we don't want to see the "no results" info message before the search
has started.

Ported up from DLR.

* `allow_local` query parameter

To support this, the `allow_local` query parameter is introduced.
(Previously, being at the root signified that only global search is
allowed, so this parameter was not needed.)

* Make solr search language dependant

TBD - incorporate changes in SolrSearch.jsx, LanguageSelector.js
- add the copy reducer to SolrSearch.jsx
- even the resetContent hack is missing, that has to be added too

* Fix CI run

... Except, cypress still hangs...

- fix tests
- fix lint
- fix yarn.lock
- add changelog
- add example cypress test
- yarn version

* Support fieldList (fl) in the configuration

- Updates as needed

* Search result items styling

- default result item
- event result item
  * show end
- image result item
  * show image type from mime type
  * separator between info items
- news item result item
  * In progress because the image preview is not yet present.

* Better handling of dates in search result types

- support "not published yet" message, although not activated yet

* Linting

* Fix acceptance docker configuration

- frontend, backend, solr works with config
- adding an "acceptance only" configuration to the volto addon, which
  we might get rid of later, but ok at this point

* Use internet profile rather than intranet for testing

- Use plone.volto rather than kitconcept.volto for the acceptance
  testing, which makes login in tests "more conventional". - otherwise
  it's no difference, both could make sense.

* WIP

* WIP

* WIP

* Add more tests

- language dependent tests
- fix schema
- fix dockerfile

* Remove duplicate text field definition in schema.xml

* Remove empty line from schema

* Fix search for pdf files by enabling tikka from the acceptance tests

* Fix highlighting

* Add more acceptance tests

* Fix CI

- Use correct dockerfile
- remove redundant ci.yml for now

* Revamp solr configuration

- use labels from the server
- clean up docker file
- add documentation about the configuration

* Support all preview images

- preview image for news
- for all content types, if exist
- use volto's Image component

* Update default icon

* Add backwards compatibility support to Volto 16 and lower

Image component is only from Volto 17, so we have to add support for the
lower versions. This can be removed at some point in the future.

* Use an icon per content type in the results

- add component for icons
- add support for setting up content icons from the Volto config

* Prepare for release

* Prepare for release

* Prepare for release

* Prepare for release

* Prepare for release

* Prepare for release

* Prepare for release, remove no longer needed files, move some config to its own config file to match other packages.

* Changelog

* Release 1.0.0-alpha.2

* Update README.md (#13)

* Update README.md

* Update README.md

Co-authored-by: David Glick <david@glicksoftware.com>

---------

Co-authored-by: David Glick <david@glicksoftware.com>

* Fix translations for the result tabs (#16) (#17)

Co-authored-by: Balázs Reé <ree@greenfinity.hu>

* Add support for sidebar facet conditions (#18)

* Add support for sidebar facet conditions

- add person result type
  - display phone, email
  - add missing icons
  - thumbnail image
  - fallback avatar
- layout selector and grid layout
- ResultItemPreviewImage helper
- query parameters improvements
  - refactor conversion between state and query parameters
  - support search conditions as a query parameter
- facet fields UI
  - optimized rendering
  - field results
    - cached selection
    - sorted values by count, alphabetic
    - show remaining, already selected values at the end of the list
  - prefix filter for each field
  - support Show more for each field
- fix semantic-ui dimmer to cover the entire viewport

* Add required news doodah

* fix linting

* fix linting

* fix linting

* fix linting

* fix linting

* fix linting

* - pass layout to result type templates as a prop

* - enable translations on facet search condition labels

* - implement base64 conversion of utf, needed for accented characters

* rename prefix - contains

* fix tests

* - fix css for image result type, tile footer

* fix linting

* Use the branched version of kitconcept.solr for acceptance

* - fix margins of preview image in result types

* fix counter layout, casued problem with missing (0) counters

* Fix dimmer to not block the entire page, center instead

* - hide page selector if there is only one page

* Show more indicator displayed only if there are more elements

* - fix - never provide a * as a fallback for empty SearchableText

* - add doEmptySearch option that causes to allow search with empty term

This is useful to start search with the facet conditions.

* improve scrollbar placement on more list of values

* Fix linting

Fix linting

Fix linting

* Update acceptance to use kitconcept.solr==1.0.0a5

* Update solr configuration for acceptance tests

* Fix local acceptance testing, HOST env var is needed for Volto 17 setup

* Fix results to be shown

* Fix updating search on paging or sort order change

* Fix sort order

* Fix unit tests

---------

Co-authored-by: Balázs Reé <ree@greenfinity.hu>

* Release 1.0.0-alpha.3

* Send solr request only once [#19] (#20)

The solr request to the backend is sent 2 times. This fixes it and
only 1 is sent.

By the way, this triggered a bug in asyncconnect. There was a race
condition and sometimes the results will be ignored completely, that is
both of the two updates were ignored.

It's beyond the scope to fix asyncconnect, but sending only 1 request
instead of the double should fix this.

Co-authored-by: Balázs Reé <ree@greenfinity.hu>

* Release 1.0.0-alpha.4

* Improve large sidebar counters (#23) (#24)

- We need 3 digits, make flatter badge
- everything above 999: show 1K etc.
- everything about 99K: 99K and that's it....

Co-authored-by: Balázs Reé <ree@greenfinity.hu>

* Fix issue and homepage link in package.json

* Release 1.0.0-alpha.5

* Fall back to Plone search if backend not installed

* fix import

* fix workflow

* Add flag to site endpoint to indicate if solr is active

* Don't use deprecated react-portal, pass state to isBackendAvailable

* changelog

* lint

* lint

* Move to native namespace packages

* Remove peerDependency on volto

* Remove unused files

* Remove not needed files

* Modernize kitconcept.solr package

* Style / Lint fixes kitconcept.solr

* Modernize volto-solr package

* Use new cookieplone template on this package

* Reduce complexity on some backend methods

* Refactor acceptance/unit tests to use a shared file

* GHA: Fix acceptance matrix

* GHA: Fix config paths

* Documentation: Add terms to the vocabulary

* GHA: Use reusable workflow from plone/meta for documentation

* Fix lint

* GHA: Fix acceptance docker compose

* GHA: Fix image names

* GHA: Trigger acceptance tests when docker-compose files were changed

* GHA: Fix image build for frontend

* GHA: Change input spec-path to spec-pattern

* Fix env vars

* Use name instead of spec-path in path to store artifacts

* Update ESLint settings

* Fix checking of backend component

---------

Co-authored-by: Balázs Reé <ree@greenfinity.hu>
Co-authored-by: Timo Stollenwerk <stollenwerk@kitconcept.com>
Co-authored-by: Balázs Reé <95078727+reekitconcept@users.noreply.github.com>
Co-authored-by: Victor Fernandez de Alba <sneridagh@gmail.com>
Co-authored-by: Timo Stollenwerk <tisto@users.noreply.github.com>
Co-authored-by: David Glick <david@glicksoftware.com>
Merge pull request #37 from kitconcept/fix-build

Update to test with latest Plone 6.1
Black

Black

Fix release-check

Apply latest plone.meta from main branch

Remove plone 5.2 workflow which is not actually running the tests

Update to test with latest Plone 6.1

Back to development: 1.0.0a7

Preparing release 1.0.0a6

Merge pull request #27 from kitconcept/ree-fix-first-tab-condition

Fix first tab condition
Fix first tab condition

Back to development: 1.0.0a6

Preparing release 1.0.0a5

Add missing changelog (news entry)

Merge pull request #23 from kitconcept/ree-implement-sidebar-facets

Add support for sidebar facet conditions
fix unit tests

fix linting

Remove dependencies to collective.person

Remove unneeded facet_query

Remove logging

Merge branch 'main' of github.com:kitconcept/kitconcept.solr

- fix tab counters to be unaffected by the facet condition

Update tests

- support empty search to get all results

Update tests

Get a plus one value so that the client can use for Has More detection

Add support for sidebar facet conditions

- add dependency to collective.person
- support contact_phone, contact_email from Person content type
- implement support for sidebar facet conditions
  - select-able facet field value conditions
  - containment search in facet field values, case insensitice
  - support "show more"
- implement support for layouts in facet tabs
- save state in url, gracefully ignore invalid base64 from the query

Also:

- add injection prevention
- add a "devtest" target to tox to allow parametrize pytest
- fix linting
  - line_length = 79 to black, satisfies both black and pyflakes

Merge pull request #21 from kitconcept/ree-solr-security-fix

Fix solr search security problem with individual users
Preparing release 1.0.0a5

[ci skip]

Add 'make release' command to Makefile

Fix solr search security problem with individual users

- Mangle : to $ in roles and users, as collective.solr does this when
  indexing to solr
- Add tests for this case
- Add other security tests

Merge pull request #19 from kitconcept/fix-18

Fix generic setup profile titles
Back to development: 1.0.0a5

Preparing release 1.0.0a4

Update changelog

Support Plone 5.2 / also refactor reindex helpers (#17)

* Support Plone 5.2

- remove Plone dependencies so the package can work with Plone 5.2
- make constraints work in an alternate way between versions
- unpin plone.restapi

- test Plone 5.2 on the CI - currently install only, as test framework
  conflicts with 5.2

* Refactor reindex helpers in an importable way

* Github action updates for 5.2

---------

Co-authored-by: Balázs Reé <ree@greenfinity.hu>
Fix generic setup profile titles #18

Back to development: 1.0.0a4

Preparing release 1.0.0a3

Update path to customers' images

Add DLR and FZJ in credits section. (#13)

* Add DLR and FZJ in credits section.

* Update README.

---------

Co-authored-by: Érico Andrei <ericof@gmail.com>
Back to development: 1.0.0a3

Preparing release 1.0.0a2

Increase version of collective.solr (#15)

Needed for `image_scales` to be serialized correctly.

Co-authored-by: Balázs Reé <ree@greenfinity.hu>
Back to development: 1.0.0a2

Preparing release 1.0.0a1

Revamp solr configuration (#11)

- restructure service response to return facet labels with the counts
  as well
- add keep_full_solr_response option, prune payload by default
- add documentation

In addition:

- fix makefile, `make solr-start` etc. to work

Co-authored-by: Balázs Reé <ree@greenfinity.hu>
Merge pull request #10 from kitconcept/issue-5-cleanup

Prepare package for release
Pin to version 6.0.6

Add a constraints.txt file

Update README

Clean up changelog

GHA: Use tag 1.0.0

Use a higher timeout to allow the CI to build the Solr image

Use is_responsive as function instead of fixture

Improve codecoverage

Fix i18n support

Remove (unused Homepage content-type)

Handle ProtocolError and ConnectionTimeout exceptions

Update README, setup.py

Fix tests

Remove circular dependency check as collective.solr introduces one with Products.CMFPlone

Prepare package for release

Merge pull request #8 from kitconcept/fix-image-scales

Add image_scales and image_field to result fields
Add image_scales and image_field to result fields

Merge pull request #7 from kitconcept/ree-solr-support-body-text

Add search supportive indexers - body_text - fixes highlighting
Add search supportive indexers - body_text - fixes highlighting

- body_text - this enables highlighting

The following are disabled:

- SearchableText for image
- index News item attachment

Merge pull request #6 from kitconcept/ree-solr-support-fix

Fix broken solr schema.xml
Fix broken solr schema.xml

- fix broken syntax
- Add back the correct text field definition together with copyfield
- Remove duplicate text field definition

Merge pull request #1 from kitconcept/ree-solr-support

Advanced solr support
Fix CI

Merge pull request #4 from kitconcept/issue-3-solr-docker-image

Solr image generation using GHA
Implement GHA workflow to build and publish ghcr.io/kitconcept/solr Docker image

WIP add mime type to solr index

WIP add solr index for preview images

Support fieldList (fl) in the configuration

- Renames as appropriate
- Add `end` to the set of queried fields
- add tests
- Fix lowercase project name (needed in newer docker versions)

Fix transaction activation

Without this, it would not properly detect if solr is running, in case
the service is not yet activated.

Add an option to reindex solr without clearing it

Add back @ to makefile to suppress output

Also fix docker compose script invocation

Add full matrix for testing

Disable flaky solr test (location attr missing)

Fix linting

Fix escaping terms in solr queries

Fixes specials char in the query.

Ported forward from DLR.

Support language specific search via the lang parameter

Ported from DLR.

Fix the activate script

lint

support context path as an alternative to path_prefix

- support context path as an alternative to path_prefix

more cleanup

Fix lint

Advanced solr support

- add docker stack
- add back-end service
- add facets configuration
- add activate script

Add solr endpoint

Add classifiers

Add Plone 6

flake8

Black

Add gh actions

Initial import
@reekitconcept
reekitconcept force-pushed the kid/local-scope-main branch from 247f4e6 to b58fc67 Compare July 30, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Local search: suggestions ignore the path scope; top-level prefixes dropped; multilingual neutralizes the path filter

1 participant