Skip to content

Full-text Search (FTS) #70

@Exino329

Description

@Exino329

Problem / motivation

Currently, the library allows to retrieve documents based on their content using vector search. An interesting feature would to also allow to retrieve documents content based on the text they contain using full-text search.

For example, sqlite allows this with the FTS extension

Proposed solution

We could have interface as the vector search :

// 1. Configure full text index on string property
modelBuilder.Entity<DocWithTextContent>()
    .HasFullTextIndex(x => x.Text, //tokenize options);

// 2. Perform fast similarity search
var results = db.Items.AsQueryable()
    .FullTextSearch(x => x.Text, queryString, k: 5)
    .ToList();

It would also be interesting to have an option to return the result with highlighting the text that matched :
as in (https://www.sqlite.org/fts5.html#the_highlight_function)

This would allow to perform hybrid search based content.

Alternatives considered

No response

Additional context

N.B. I hope my feature request issue is sufficiently clear :' )

Also I don't know how feasible/hard this would be to implement. I think this would be an interesting feature because I found no libraries that allow local storage with both Vector and Full text search in .NET . The only other alternative I found was using sqlite with extensions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    Status

    Todo

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions