Skip to content

NOT operator in FTS queries #3401

@wjones127

Description

@wjones127

We claim to use Tantivy's query parser, but the NOT (-) operator doesn't seem to work:

import lancedb

db = lancedb.connect("memory://")
table = db.create_table('test', [{'text': 'apple fruit'}, {'text': 'apple'}, {'text': 'fruit'}])
table.create_fts_index(field_names='text', use_tantivy=False)
table.search('apple -fruit', query_type="fts").to_list()
[{'text': 'apple fruit', '_score': 0.7803833484649658},
 {'text': 'fruit', '_score': 0.5235483646392822},
 {'text': 'apple', '_score': 0.5235483646392822}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions