寻找支持「子字段」查询的开源全文搜索引擎

比如有多个以下格式的文档:

{
    "id": 1,
    "text": "支持全文检索的文本",
    "items": [
        {
            "k1": 1,
            "k2": 2,
        },
        {
            "k1": 3,
            "k2": 4,
        }
    ],
    'boost': 1.1
}

需要将这些格式的文档添加到搜索引擎中,对搜索引擎的要求是:

  1. text字段为全文检索的字段。
  2. 检索结果可以按TF-IDF值排序(排序结果最好可以和boost字段相关)。
  3. 可以对items进行过滤,比如文档需要有包含 k1 大于 2 的 item。

使用Solr/Lucene的话,第3点无法做到;而MongoDB无法满足第2点。所以我的问题是,有没有可以满足以上3点要求的开源搜索引擎?

阅读 4.5k
2 个回答

items_table
id
doc_id
key
value

Lucene 无法做到?可 ElasticSearch 做到了呀。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进