我根据两个表中的文档创建了一个倒排索引:
现在,我想选择单词“cat”和“storage_document”在同一个中出现的文档。
我的尝试是:
从index_token INNER index_documents ON index_token.token_id = index_documents.token_id中选择*,其中index_token.token = 'cat‘OR/和 index_token.token =’index_token.token‘
或者让第二个标记是可选的,这样我就可以得到有狗或猫的文档,而不是狗和猫。却没有给我任何结果。
那么,如何更改查询以获得预期的结果呢?
它还应该接受两个以上的关键字。
发布于 2013-07-05 16:19:08
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_idhttps://stackoverflow.com/questions/17492957
复制相似问题