CatgirlIntelligenceAgency/code/services-core/index-service/readme.md

23 lines
1.2 KiB
Markdown
Raw Normal View History

2024-02-06 12:41:28 +01:00
The index service is a partitioned service that knows which document contains which keywords.
2023-03-04 14:00:46 +01:00
![image](../../../doc/diagram/index-service-map.svg)
2023-03-22 17:01:34 +01:00
2024-02-06 12:41:28 +01:00
It is the service that most directly executes a search query. It does this by
evaluating a low-level query, and then using the index to find the documents
that match the query, finally ranking the results and picking the best matches.
2023-03-04 14:00:46 +01:00
## Central Classes
* [IndexService](src/main/java/nu/marginalia/index/IndexService.java) is the REST entry point that the internal API talks to.
* [IndexQueryService](src/main/java/nu/marginalia/index/svc/IndexQueryService.java) executes queries.
* [SearchIndex](src/main/java/nu/marginalia/index/index/SearchIndex.java) owns the state of the index and helps with building a query strategy from parameters.
* [IndexResultValuator](src/main/java/nu/marginalia/index/results/IndexResultValuator.java) determines the best results.
## See Also
The index service relies heavily on the primitives in [features-index](../../features-index):
* [features-index/index-forward](../../features-index/index-forward/)
* [features-index/index-reverse](../../features-index/index-reverse/)
2023-03-22 17:01:34 +01:00
* [features-index/index-query](../../features-index/index-query)