gpt4 book ai didi

mysql - 手动搜索倒排索引

转载 作者:行者123 更新时间:2023-11-29 13:45:22 25 4
gpt4 key购买 nike

我从 2 个表内的文档创建了倒排索引:

  • index_token(token_id, token )
  • index_documents(doc_id,token_id,storage_document_id)

现在我想选择在同一个 storage_document 中出现单词“cat”和“dog”的文档。

我的尝试是:

SELECT * FROM index_token INNER JOIN index_documents ON index_token.token_id = index_documents.token_id WHERE index_token.token = 'cat' OR/AND index_token.token = 'dog'

OR 使第二个标记可选,因此我得到包含狗或猫的文档,但不包含狗和猫。并且没有给我任何结果。

那么我该如何更改查询才能获得预期的结果?

它还应该接受 2 个以上的关键字。

最佳答案

SELECT dog_docs.doc_id from
(
SELECT index_documents.doc_id
FROM index_documents
INNER JOIN index_token
ON index_token.token_id = index_documents.token_id
WHERE index_token.token = 'cat'
) cat_docs
INNER JOIN
(
SELECT index_documents.doc_id
FROM index_documents
INNER JOIN index_token
ON index_token.token_id = index_documents.token_id
WHERE index_token.token = 'dog'
) dog_docs
ON cat_docs.doc_id = dog_docs.doc_id

关于mysql - 手动搜索倒排索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17492957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com