Spring
AI
Spring AI
Java
Quarkus Spring Spring Data Spring Cloud Hibernate
Python
Database
Postgresql Mysql
Hibernate Search 中文操作指南
    • Preface
    • 1. Compatibility
      • 1.1. Dependencies
      • 1.2. Framework support
      • 1.2.1. Quarkus
      • 1.2.2. WildFly
      • 1.2.3. Spring Boot
      • Configuration properties
      • Dependency versions
      • Application hanging on startup
      • Spring Boot’s Elasticsearch client and auto-configuration
      • 1.2.4. Other
    • 2. Getting started with Hibernate Search
    • 3. Migrating
    • 4. Concepts
      • 4.1. Full-text search
      • 4.2. Entity types
      • 4.3. Mapping
      • 4.4. Binding
      • 4.5. Analysis
      • 4.6. Commit and refresh
      • 4.7. Sharding and routing
    • 5. Architecture
      • 5.1. Components of Hibernate Search
      • 5.2. Examples of architectures
      • 5.2.1. Overview
      • 5.2.2. Single-node application with the Lucene backend
      • Description
      • Pros and cons
      • Getting started
      • 5.2.3. Single-node or multi-node application, without coordination and with the Elasticsearch backend
      • Description
      • Pros and cons
      • Getting started
      • 5.2.4. Multi-node application with outbox polling and Elasticsearch backend
      • Description
      • Pros and cons
      • Getting started
    • 6. Hibernate ORM integration
      • 6.1. Basics
      • 6.2. Startup
      • 6.3. Shutdown
      • 6.4. Mapping Map-based models
      • 6.5. Multi-tenancy with non-string tenant identifiers
      • 6.6. Other configuration
    • 7. Standalone POJO Mapper
      • 7.1. Basics
      • 7.2. Startup
      • 7.3. Shutdown
      • 7.4. Bean provider
      • 7.5. Multi-tenancy
      • 7.6. Mapping
      • 7.7. Indexing
      • 7.7.1. Listener-triggered indexing
      • 7.7.2. Explicitly indexing on entity change events
      • 7.7.3. Mass indexing
      • 7.7.4. Entity loading in search queries
      • 7.8. Coordination
      • 7.9. Reading configuration properties from a file
      • 7.10. Other configuration
    • 8. Configuration
      • 8.1. Configuration sources
      • 8.1.1. Configuration sources when integrating into Hibernate ORM
      • 8.1.2. Configuration sources with the Standalone POJO mapper
      • 8.2. Configuration properties
      • 8.2.1. Structure of configuration properties
      • 8.2.2. Building property keys programmatically
      • 8.2.3. Type of configuration properties
      • 8.3. Configuration property checking
      • 8.4. Beans
      • 8.4.1. Supported frameworks
      • Supported frameworks when integrating into Hibernate ORM
      • Supported frameworks when using the Standalone POJO Mapper
      • 8.4.2. Bean references
      • 8.4.3. Parsing of bean references
      • 8.4.4. Bean resolution
      • 8.4.5. Bean injection
      • 8.4.6. Bean lifecycle
      • 8.5. Global configuration
      • 8.5.1. Background failure handling
      • 8.5.2. Multi-tenancy
    • 9. Main API Entry Points
      • 9.1. SearchMapping
      • 9.1.1. Basics
      • 9.1.2. Retrieving the SearchMapping with the Hibernate ORM integration
      • 9.1.3. Retrieving the SearchMapping with the Standalone POJO Mapper
      • 9.2. SearchSession
      • 9.2.1. Basics
      • 9.2.2. Retrieving the SearchSession with the Hibernate ORM integration
      • 9.2.3. Retrieving the SearchSession with the Standalone POJO Mapper
      • 9.3. SearchScope
    • 10. Mapping entities to indexes
      • 10.1. Configuring the mapping
      • 10.1.1. Annotation-based mapping
      • 10.1.2. Classpath scanning
      • Basics
      • Scanning dependencies of the application
      • Configuring scanning
      • 10.1.3. Programmatic mapping
      • 10.1.4. Mapping configurer
      • Hibernate ORM integration
      • Standalone POJO Mapper
      • 10.2. Entity definition
      • 10.2.1. Basics
      • 10.2.2. Explicit entity definition
      • 10.2.3. Entity name
      • 10.2.4. Mass loading strategy
      • 10.2.5. Selection loading strategy
      • 10.2.6. Programmatic mapping
      • 10.3. Entity/index mapping
      • 10.3.1. Basics
      • 10.3.2. Explicit index/backend
      • 10.3.3. Conditional indexing and routing
      • 10.3.4. Programmatic mapping
      • 10.4. Mapping the document identifier
      • 10.4.1. Basics
      • 10.4.2. Explicit identifier mapping
      • 10.4.3. Supported identifier property types
      • 10.4.4. Programmatic mapping
      • 10.5. Mapping a property to an index field with @GenericField, @FullTextField, …
      • 10.5.1. Basics
      • 10.5.2. Available field annotations
      • 10.5.3. Field annotation attributes
      • 10.5.4. Supported property types
      • 10.5.5. Support for legacy java.util date/time APIs
      • 10.5.6. Mapping custom property types
      • 10.5.7. Programmatic mapping
      • 10.6. Mapping associated elements with @IndexedEmbedded
      • 10.6.1. Basics
      • 10.6.2. @IndexedEmbedded and null values
      • 10.6.3. @IndexedEmbedded on container types
      • 10.6.4. Setting the object field name with name
      • 10.6.5. Setting the field name prefix with prefix
      • 10.6.6. Casting the target of @IndexedEmbedded with targetType
      • 10.6.7. Reindexing when embedded elements change
      • 10.6.8. Embedding the entity identifier
      • 10.6.9. Filtering embedded fields and breaking @IndexedEmbedded cycles
      • 10.6.10. Structuring embedded elements as nested documents using structure
      • DEFAULT or FLATTENED structure
      • NESTED structure
      • 10.6.11. Filtering association elements
      • 10.6.12. Programmatic mapping
      • 10.7. Mapping container types with container extractors
      • 10.7.1. Basics
      • 10.7.2. Explicit container extraction
      • 10.7.3. Disabling container extraction
      • 10.7.4. Programmatic mapping
      • 10.8. Mapping geo-point types
      • 10.8.1. Basics
      • 10.8.2. Using @GenericField and the GeoPoint interface
      • 10.8.3. Using @GeoPointBinding, @Latitude and @Longitude
      • 10.8.4. Programmatic mapping
      • 10.9. Mapping multiple alternatives
      • 10.9.1. Basics
      • 10.9.2. Programmatic mapping
      • 10.10. Tuning when to trigger reindexing
      • 10.10.1. Basics
      • 10.10.2. Enriching the entity model with @AssociationInverseSide
      • 10.10.3. Reindexing when a derived value changes with @IndexingDependency
      • 10.10.4. Limiting reindexing of containing entities with @IndexingDependency
      • ReindexOnUpdate.SHALLOW: limiting reindexing to same-entity updates only
      • ReindexOnUpdate.NO: disabling reindexing caused by updates of a particular property
      • 10.10.5. Programmatic mapping
      • 10.11. Changing the mapping of an existing application
      • 10.12. Custom mapping annotations
      • 10.12.1. Basics
      • 10.12.2. Custom root mapping annotations
      • 10.13. Inspecting the mapping
    • 11. Mapping index content to custom types (projection constructors)
      • 11.1. Basics
      • 11.2. Detection of mapped projection types
      • 11.3. Implicit inner projection inference
      • 11.3.1. Basics
      • 11.3.2. Inner projection and type
      • 11.3.3. Inner projection and field path
      • 11.4. Explicit inner projection
      • 11.5. Mapping types with multiple constructors
      • 11.6. Programmatic mapping
    • 12. Binding and bridges
      • 12.1. Basics
      • 12.2. Value bridge
      • 12.2.1. Basics
      • 12.2.2. Type resolution
      • 12.2.3. Using value bridges in other @*Field annotations
      • 12.2.4. Supporting projections with fromIndexedValue()
      • 12.2.5. Parsing the string representation to an index field type with parse()
      • 12.2.6. Compatibility across indexes with isCompatibleWith()
      • 12.2.7. Configuring the bridge more finely with ValueBinder
      • 12.2.8. Passing parameters
      • Simple, string parameters
      • Parameters with custom annotations
      • 12.2.9. Accessing the ORM session or session factory from the bridge
      • 12.2.10. Injecting beans into the value bridge or value binder
      • 12.2.11. Programmatic mapping
      • 12.2.12. Incubating features
      • 12.3. Property bridge
      • 12.3.1. Basics
      • 12.3.2. Passing parameters
      • Simple, string parameters
      • Parameters with custom annotations
      • 12.3.3. Accessing the ORM session from the bridge
      • 12.3.4. Injecting beans into the binder
      • 12.3.5. Programmatic mapping
      • 12.3.6. Incubating features
      • 12.4. Type bridge
      • 12.4.1. Basics
      • 12.4.2. Passing parameters
      • Simple, string parameters
      • Parameters with custom annotations
      • 12.4.3. Accessing the ORM session from the bridge
      • 12.4.4. Injecting beans into the binder
      • 12.4.5. Programmatic mapping
      • 12.4.6. Incubating features
      • 12.5. Identifier bridge
      • 12.5.1. Basics
      • 12.5.2. Type resolution
      • 12.5.3. Compatibility across indexes with isCompatibleWith()
      • 12.5.4. Parsing identifier’s string representation with parseIdentifierLiteral(..)
      • 12.5.5. Configuring the bridge more finely with IdentifierBinder
      • 12.5.6. Passing parameters
      • Simple, string parameters
      • Parameters with custom annotations
      • 12.5.7. Accessing the ORM session or session factory from the bridge
      • 12.5.8. Injecting beans into the bridge or binder
      • 12.5.9. Programmatic mapping
      • 12.5.10. Incubating features
      • 12.6. Routing bridge
      • 12.6.1. Basics
      • 12.6.2. Using a routing bridge for conditional indexing
      • 12.6.3. Using a routing bridge to control routing to index shards
      • 12.6.4. Passing parameters
      • 12.6.5. Accessing the ORM session from the bridge
      • 12.6.6. Injecting beans into the binder
      • 12.6.7. Programmatic mapping
      • 12.6.8. Incubating features
      • 12.7. Declaring dependencies to bridged elements
      • 12.7.1. Basics
      • 12.7.2. Traversing non-default containers (map keys, …)
      • 12.7.3. useRootOnly(): declaring no dependency at all
      • 12.7.4. fromOtherEntity(…): declaring dependencies using the inverse path
      • 12.8. Declaring and writing to index fields
      • 12.8.1. Basics
      • 12.8.2. Type objects
      • 12.8.3. Multivalued fields
      • 12.8.4. Object fields
      • 12.8.5. Object structure
      • 12.8.6. Dynamic fields with field templates
      • 12.9. Defining index field types
      • 12.9.1. Basics
      • 12.9.2. Available data types
      • 12.9.3. Available type options
      • 12.9.4. DSL converter
      • 12.9.5. Projection converter
      • 12.9.6. Backend-specific types
      • 12.10. Defining named predicates
      • 12.11. Assigning default bridges with the bridge resolver
      • 12.11.1. Basics
      • 12.11.2. Assigning a single binder to multiple types
      • 12.12. Projection binder
      • 12.12.1. Basics
      • 12.12.2. Multi-valued projections
      • 12.12.3. Composing projection constructors
      • 12.12.4. Passing parameters
      • Simple, string parameters
      • Parameters with custom annotations
      • 12.12.5. Injecting beans into the binder
      • 12.12.6. Programmatic mapping
      • 12.12.7. Other incubating features
    • 13. Managing the index schema
      • 13.1. Basics
      • 13.2. Automatic schema management on startup/shutdown
      • 13.3. Manual schema management
      • 13.4. How schema management works
      • 13.5. Exporting the schema
      • 13.5.1. Exporting the schema to a set of files
      • 13.5.2. Exporting to a custom collector
      • 13.5.3. Exporting in offline mode
    • 14. Indexing entities
      • 14.1. Basics
      • 14.2. Indexing plans
      • 14.2.1. Basics
      • 14.2.2. Synchronization with the indexes
      • Basics
      • Per-session override
      • Custom strategy
      • 14.2.3. Indexing plan filter
      • 14.3. Implicit, listener-triggered indexing
      • 14.3.1. Basics
      • 14.3.2. Configuration
      • 14.3.3. In-session entity change detection and limitations
      • 14.3.4. Dirty checking
      • 14.4. Indexing a large amount of data with the MassIndexer
      • 14.4.1. Basics
      • 14.4.2. Selecting types to be indexed
      • 14.4.3. Mass indexing multiple tenants
      • 14.4.4. Running the mass indexer asynchronously
      • 14.4.5. Conditional reindexing
      • 14.4.6. MassIndexer parameters
      • 14.4.7. Tuning the MassIndexer for best performance
      • Basics
      • Threads and connections
      • 14.5. Indexing a large amount of data with the Jakarta Batch integration
      • 14.5.1. Basics
      • 14.5.2. Job Parameters
      • 14.5.3. Conditional indexing
      • 14.5.4. Parallel indexing
      • Threads
      • Rows per partition
      • 14.5.5. Chunking and session clearing
      • 14.5.6. Selecting the persistence unit (EntityManagerFactory)
      • JBeret
      • Other DI-enabled Jakarta Batch implementations
      • Plain Java environment (no dependency injection at all)
      • 14.6. Explicit indexing
      • 14.6.1. Basics
      • 14.6.2. Configuration
      • 14.6.3. Using a SearchIndexingPlan manually
      • 14.6.4. Hibernate ORM and the periodic "flush-clear" pattern with SearchIndexingPlan
    • 15. Searching
      • 15.1. Query DSL
      • 15.1.1. Basics
      • 15.1.2. Advanced entity types targeting
      • Targeting multiple entity types
      • Targeting entity types by name
      • 15.1.3. Fetching results
      • Basics
      • Fetching all hits
      • Fetching the total (hit count, …)
      • totalHitCountThreshold(…): optimizing total hit count computation
      • Pagination
      • Scrolling
      • 15.1.4. Routing
      • 15.1.5. Entity loading options for Hibernate ORM
      • Cache lookup strategy
      • Fetch size
      • Entity graph
      • 15.1.6. Timeout
      • failAfter(): Aborting the query after a given amount of time
      • truncateAfter(): Truncating the results after a given amount of time
      • 15.1.7. Setting query parameters
      • 15.1.8. Obtaining a query object
      • 15.1.9. explain(…): Explaining scores
      • 15.1.10. took and timedOut: finding out how long the query took
      • 15.1.11. Elasticsearch: leveraging advanced features with JSON manipulation
      • 15.1.12. Lucene: retrieving low-level components
      • 15.2. Predicate DSL
      • 15.2.1. Basics
      • 15.2.2. matchAll: match all documents
      • except(…): exclude documents matching a given predicate
      • Other options
      • 15.2.3. matchNone: match no documents
      • 15.2.4. id: match a document identifier
      • Expected type of arguments
      • Other options
      • 15.2.5. match: match a value
      • Expected type of arguments
      • Targeting multiple fields
      • Analysis
      • fuzzy: match a text value approximately
      • minimumShouldMatch: fine-tuning how many terms are required to match
      • Other options
      • 15.2.6. range: match a range of values
      • Expected type of arguments
      • Targeting multiple fields
      • Other options
      • 15.2.7. phrase: match a sequence of words
      • slop: match a sequence of words approximately
      • Targeting multiple fields
      • Other options
      • 15.2.8. exists: match fields with content
      • Object fields
      • Other options
      • 15.2.9. wildcard: match a simple pattern
      • Targeting multiple fields
      • Other options
      • 15.2.10. regexp: match a regular expression pattern
      • Regexp predicates and analysis
      • flags: enabling only specific syntax constructs
      • Targeting multiple fields
      • Other options
      • 15.2.11. terms: match a set of terms
      • terms predicates and analysis
      • Expected type of arguments
      • Targeting multiple fields
      • Other options
      • 15.2.12. and: match all clauses
      • Adding clauses dynamically with the lambda syntax
      • Options
      • 15.2.13. or: match any clause
      • Adding clauses dynamically with the lambda syntax
      • Options
      • 15.2.14. not: negating another predicate
      • Other options
      • 15.2.15. bool: advanced combinations of predicates (or/and/…)
      • Emulating an OR operator
      • Emulating an AND operator
      • mustNot: excluding documents that match a given predicate
      • filter: matching documents that match a given predicate without affecting the score
      • should as a way to tune scoring
      • minimumShouldMatch: fine-tuning how many should clauses are required to match
      • Adding clauses dynamically with the lambda syntax
      • Deprecated variants
      • Other options
      • 15.2.16. simpleQueryString: match a user-provided query string
      • Boolean operators
      • Default boolean operator
      • Prefix
      • Fuzzy
      • Phrase
      • flags: enabling only specific syntax constructs
      • minimumShouldMatch: fine-tuning how many should clauses are required to match
      • Targeting multiple fields
      • Field types and expected format of field values
      • Other options
      • 15.2.17. nested: match nested documents
      • Implicit nesting
      • Deprecated variants
      • 15.2.18. within: match points within a circle, box, polygon
      • Matching points within a circle (within a distance to a point)
      • Matching points within a bounding box
      • Matching points within a polygon
      • Targeting multiple fields
      • Other options
      • 15.2.19. knn: K-Nearest Neighbors a.k.a. vector search
      • Expected type of arguments
      • Filtering the neighbors
      • Combining knn with other predicates
      • Filtering out irrelevant results with knn similarity
      • Backend specifics and limitations
      • Other options
      • 15.2.20. queryString: match a user-provided query string
      • Default boolean operator
      • Phrase slop
      • Allowing leading wildcards
      • Enabling position increments
      • Rewrite method
      • minimumShouldMatch: fine-tuning how many should clauses are required to match
      • Targeting multiple fields
      • Field types and expected format of field values
      • Other options
      • 15.2.21. named: call a predicate defined in the mapping
      • 15.2.22. withParameters: create predicates accessing query parameters
      • 15.2.23. Backend-specific extensions
      • Lucene: fromLuceneQuery
      • Elasticsearch: fromJson
      • 15.2.24. Options common to multiple predicate types
      • Targeting multiple fields in one predicate
      • Tuning the score
      • Overriding analysis
      • 15.3. Sort DSL
      • 15.3.1. Basics
      • 15.3.2. score: sort by matching score (relevance)
      • Options
      • 15.3.3. indexOrder: sort according to the order of documents on storage
      • 15.3.4. field: sort by field values
      • Syntax
      • Options
      • 15.3.5. distance: sort by distance to a point
      • Prerequisites
      • Syntax
      • Options
      • 15.3.6. withParameters: create sorts using query parameters
      • 15.3.7. composite: combine sorts
      • Adding sorts dynamically with the lambda syntax
      • Stabilizing a sort
      • 15.3.8. Backend-specific extensions
      • Lucene: fromLuceneSort
      • Lucene: fromLuceneSortField
      • Elasticsearch: fromJson
      • 15.3.9. Options common to multiple sort types
      • Sort order
      • Missing values
      • Sort mode for multivalued fields
      • Filter for fields in nested objects
      • 15.4. Projection DSL
      • 15.4.1. Basics
      • 15.4.2. Projecting to a custom (annotated) type
      • 15.4.3. documentReference: return references to matched documents
      • Syntax
      • @DocumentReferenceProjection in projections to custom types
      • 15.4.4. entityReference: return references to matched entities
      • Syntax
      • @EntityReferenceProjection in projections to custom types
      • 15.4.5. id: return identifiers of matched entities
      • Syntax
      • @IdProjection in projections to custom types
      • 15.4.6. entity: return matched entities
      • Syntax
      • Requesting a specific entity type
      • @EntityProjection in projections to custom types
      • 15.4.7. field: return field values from matched documents
      • Syntax
      • Multivalued fields
      • Skipping conversion
      • @FieldProjection in projections to custom types
      • 15.4.8. score: return the score of matched documents
      • Syntax
      • @ScoreProjection in projections to custom types
      • 15.4.9. distance: return the distance to a point
      • Syntax
      • Multivalued fields
      • @DistanceProjection in projections to custom types
      • 15.4.10. composite: combine projections
      • Basics
      • Composing more than 3 inner projections
      • Projecting to a List<?> or Object[
      • Projecting to a custom (annotated) type
      • @CompositeProjection in projections to custom types
      • Deprecated variants
      • 15.4.11. object: return one value per object in an object field
      • Syntax
      • Composing more than 3 inner projections
      • Projecting to a List<?> or Object[
      • Projecting to a custom (annotated) type
      • @ObjectProjection in projections to custom types
      • @ObjectProjection filters to exclude nested projections and break @ObjectProjection cycles
      • 15.4.12. constant: return a provided constant
      • Syntax
      • In projections to custom types
      • 15.4.13. highlight: return highlighted field values from matched documents
      • Syntax
      • Multivalued fields
      • Highlighting options
      • @HighlightProjection in projections to custom types
      • Highlight limitations
      • 15.4.14. withParameters: create projections using query parameters
      • Syntax
      • 15.4.15. Backend-specific extensions
      • Lucene: document
      • Lucene: documentTree
      • Lucene: explanation
      • Elasticsearch: source
      • Elasticsearch: explanation
      • Elasticsearch: jsonHit
      • 15.5. Highlight DSL
      • 15.5.1. Basics
      • 15.5.2. Highlighter type
      • 15.5.3. Named highlighters
      • 15.5.4. Tags
      • 15.5.5. Encoder
      • 15.5.6. No match size
      • 15.5.7. Fragment size and number of fragments
      • 15.5.8. Order
      • 15.5.9. Fragmenter
      • 15.5.10. Boundary scanner
      • 15.5.11. Phrase limit
      • 15.6. Aggregation DSL
      • 15.6.1. Basics
      • 15.6.2. terms: group by the value of a field
      • Skipping conversion
      • maxTermCount: limiting the number of returned entries
      • minDocumentCount: requiring at least N matching documents per term
      • Order of entries
      • Other options
      • 15.6.3. range: grouped by ranges of values for a field
      • Passing Range arguments
      • Skipping conversion
      • Parse conversion
      • Other options
      • 15.6.4. withParameters: create aggregations using query parameters
      • 15.6.5. Backend-specific extensions
      • Elasticsearch: fromJson
      • 15.6.6. Options common to multiple aggregation types
      • Filter for fields in nested objects
      • 15.7. Field types and compatibility
      • 15.7.1. Type of arguments passed to the DSL
      • 15.7.2. Type of projected values
      • 15.7.3. Targeting multiple fields
      • Incompatible codec
      • Incompatible DSL converters
      • Incompatible projection converters
      • Incompatible analyzer
      • 15.8. Field paths
      • 15.8.1. Absolute field paths
      • 15.8.2. Relative field paths
    • 16. Explicit backend/index operations
      • 16.1. Applying configured analyzers/normalizers to a string
      • 16.2. Explicitly altering a whole index
      • 16.3. Lucene-specific explicit backend/index operations
      • 16.3.1. Retrieving analyzers and normalizers through the Lucene-specific Backend
      • 16.3.2. Retrieving the Lucene’s index size
      • 16.3.3. Retrieving a Lucene IndexReader
      • 16.4. Elasticsearch-specific explicit backend/index operations
      • 16.4.1. Retrieving the REST client
    • 17. Lucene backend
      • 17.1. Basic configuration
      • 17.2. Index storage (Directory)
      • 17.2.1. Local filesystem storage
      • Index location
      • Filesystem access strategy
      • Other configuration options
      • 17.2.2. Local heap storage
      • 17.2.3. Locking strategy
      • 17.3. Sharding
      • 17.3.1. Basics
      • 17.3.2. Per-shard configuration
      • 17.4. Index format compatibility
      • 17.5. Schema
      • 17.5.1. Field types
      • Available field types
      • Index field type DSL extensions
      • 17.5.2. Multi-tenancy
      • none: single-tenancy
      • discriminator: type name mapping using the index name
      • 17.6. Analysis
      • 17.6.1. Basics
      • 17.6.2. Built-in analyzers
      • 17.6.3. Built-in normalizers
      • 17.6.4. Custom analyzers and normalizers
      • Referencing components by name
      • Referencing components by factory class
      • Assigning names to analyzer instances
      • 17.6.5. Overriding the default analyzer
      • 17.6.6. Similarity
      • 17.7. Threads
      • 17.8. Indexing queues
      • 17.9. Writing and reading
      • 17.9.1. Commit
      • 17.9.2. Refresh
      • 17.9.3. IndexWriter settings
      • 17.9.4. Merge settings
      • 17.10. Searching
      • 17.10.1. Low-level hit caching
    • 18. Elasticsearch backend
      • 18.1. Compatibility
      • 18.1.1. Overview
      • 18.1.2. Elasticsearch
      • 18.1.3. OpenSearch
      • 18.1.4. Amazon OpenSearch Service
      • 18.1.5. Amazon OpenSearch Serverless (incubating)
      • 18.1.6. Upgrading Elasticsearch
      • 18.2. Basic configuration
      • 18.3. Configuration of the Elasticsearch cluster
      • 18.4. Client configuration
      • 18.4.1. Target hosts
      • 18.4.2. Path prefix
      • 18.4.3. Node discovery
      • 18.4.4. HTTP authentication
      • 18.4.5. Authentication on Amazon Web Services
      • 18.4.6. Connection tuning
      • 18.4.7. Custom HTTP client configurations
      • 18.5. Version compatibility
      • 18.5.1. Version assumed by Hibernate Search
      • 18.5.2. Disabling the version check on startup
      • 18.6. Request logging
      • 18.7. Sharding
      • 18.8. Schema management
      • 18.9. Index layout
      • 18.9.1. simple: the default, future-proof strategy
      • 18.9.2. no-alias: a strategy without index aliases
      • 18.9.3. Custom strategy
      • 18.9.4. Retrieving index or alias names
      • 18.10. Schema ("mapping")
      • 18.10.1. Field types
      • Available field types
      • Index field type DSL extension
      • 18.10.2. Entity type name mapping
      • discriminator: type name mapping using a discriminator field
      • index-name: type name mapping using the index name
      • 18.10.3. Dynamic mapping
      • 18.10.4. Multi-tenancy
      • none: single-tenancy
      • discriminator: type name mapping using the index name
      • 18.10.5. Custom index mapping
      • Basics
      • Disabling _source
      • 18.11. Analysis
      • 18.11.1. Basics
      • 18.11.2. Built-in analyzers
      • 18.11.3. Built-in normalizers
      • 18.11.4. Custom analyzers and normalizers
      • 18.11.5. Overriding the default analyzer
      • 18.12. Custom index settings
      • 18.12.1. Max result window size
      • 18.13. Threads
      • 18.14. Indexing queues
      • 18.15. Writing and reading
      • 18.15.1. Commit
      • 18.15.2. Refresh
      • 18.16. Searching
      • 18.16.1. Scroll timeout
      • 18.16.2. Partial shard failure
    • 19. Coordination
      • 19.1. Basics
      • 19.2. No coordination
      • 19.2.1. Basics
      • 19.2.2. How indexing works without coordination
      • 19.3. outbox-polling: additional event tables and polling in background processors
      • 19.3.1. Basics
      • 19.3.2. How indexing works with outbox-polling coordination
      • 19.3.3. Impact on the database schema
      • Basics
      • Custom schema/table name/etc.
      • 19.3.4. Sharding and pulse
      • 19.3.5. Event processor
      • Basics
      • Sharding
      • Processing order
      • 19.3.6. Mass indexer
      • Basics
      • 19.3.7. Multi-tenancy
      • 19.3.8. Aborted events
    • 20. Standards and integrations
      • 20.1. Jakarta EE
      • 20.2. Java EE
      • 20.3. Hibernate ORM 6
      • 20.4. Hibernate ORM 5
    • 21. Known issues and limitations
      • 21.1. Without coordination, in rare cases, indexing involving @IndexedEmbedded may lead to out-of sync indexes
      • 21.1.1. Description
      • 21.1.2. Solutions and workarounds
      • 21.1.3. Roadmap
      • 21.2. Without coordination, backend errors during indexing may lead to out-of sync indexes
      • 21.2.1. Description
      • 21.2.2. Solutions and workarounds
      • 21.2.3. Roadmap
      • 21.3. Listener-triggered indexing only considers changes applied directly to entity instances in Hibernate ORM sessions
      • 21.3.1. Description
      • 21.3.2. Solutions and workarounds
      • 21.3.3. Roadmap
      • 21.4. Listener-triggered indexing ignores asymmetric association updates
      • 21.4.1. Description
      • 21.4.2. Solutions and workarounds
      • 21.4.3. Roadmap
      • 21.5. Listener-triggered indexing is not compatible with Session serialization
      • 21.5.1. Description
      • 21.5.2. Solutions and workarounds
      • 21.5.3. Roadmap
    • 22. Troubleshooting
      • 22.1. Finding out what is executed under the hood
      • 22.2. Loggers
      • 22.3. Frequently asked questions
      • 22.3.1. Unexpected or missing documents in search hits
      • 22.3.2. Unsatisfying order of search hits when sorting by score
      • 22.3.3. Search query execution takes too long
    • 23. Further reading
      • 23.1. Hibernate Search
      • 23.2. Elasticsearch
      • 23.3. Lucene
      • 23.4. Hibernate ORM
      • 23.5. Other
    • 24. Credits
    • Appendix A: List of all available configuration properties
      • A.1. Hibernate Search Engine
      • A.2. Hibernate Search Backend - Lucene
      • A.3. Hibernate Search Backend - Elasticsearch
      • A.4. Hibernate Search Backend - Elasticsearch - AWS integration
      • A.5. Hibernate Search ORM Integration
      • A.6. Hibernate Search ORM Integration - Coordination - Outbox Polling
      • A.7. Hibernate Search Mapper - POJO Standalone
  • Hibernate Search 中文操作指南
  • 2. Getting started with Hibernate Search

Hibernate Search 中文操作指南

2. Getting started with Hibernate Search

要开始使用 Hibernate Search,请查看以下指南:

  1. 如果您的实体是在 Hibernate ORM 中定义的,请参阅 Getting started with Hibernate Search in Hibernate ORM 。

  2. 如果您的实体不是在 Hibernate ORM 中定义的,请参阅 Getting started with Hibernate Search’s Standalone POJO Mapper 。

粤ICP备2024239452号-1