In order to use semantic search you must first generate semantic indexes. We say that a semantic index is a searchable index that is the result of converting your searchable documents to vectors, called embeddings, based on their content. Once a semantic index is set up, new documents that are passed to TellusR will automatically be added to it, and you can schedule tasks for reindexing all documents.
The default behavior is that /select_a, /select_b, and /select_c use all semantic indexes that are available.
Below is an overview of query parameters for semantic search in TellusR. By default, the /select_a, /select_b, and /select_c search handlers include a semantic component as part of the search process. The default behavior is that this component uses all semantic indexes that are available. If a semantic component is not set to target an index, then it just reverts to regular search; in that scenario the below parameters do nothing.
semantic.q(Optional): A query as text. Optional in the sense that if this parameter is not provided then the query is treated as a regular query.
semantic.ratio(Optional): A number between 0 and 1. Assuming a regular query parameter is provided in addition to the semantic query parameter, this parameter determines the weight of semantic hits vs regular hits in their final score; 1 means full semantic search, 0 means full regular search, and anything between is a linear mix between normalized scores.
semantic.k(Optional): Determines k in knn vector queries. The default value is 100. The given k determines how many results are fetched from each semantic index.
Example query, search for “viking” with ratio = 0.5:
You can manage your semantic indexes under Admin -> Indexing. Here you can:
To configure semantic indexes, you must decide on which document fields should be made available for semantic indexing. Go to Configuration -> Solr Schema -> and mark the fields that you want to use.
Tips & guidelines:
Each index can be scheduled to be re-created from scratch daily, or weekly. Why is this necessary when indexes are also updated live? The answer is that live updates only catch new documents, and not changes to existing documents. Changes or additions to documents can potentially impact the way the selected model operates for the index. A full reindex ensures that the model is up-to-date with all the latest information from documents.
Tips & guidelines:
Regular Solr queries support sorting. Semantic search has a limited support for sorting - you can sort ascending and descending on sortable fields, but functions in terms of sortable fields is not yet officially supported.
Regular Solr queries support paging using the
Paging is at this time not officially supported for semantic queries.