Sphinx 可以使用 IN 子句进行 NOT AND 过滤吗?
Can Sphinx do a NOT AND filter with an IN clause?
这个问题是 的更复杂的扩展。
但是,在这种情况下,假设我有一个具有以下整数属性的索引:
category
type
这样每个文档都有一个 category
ID 和一个 type
ID。
假设我还有一个 category
ID 列表:
category_list = [1,3,5,7,9]
以及 type
个 ID 的列表:
type_list = [1,2]
我想过滤所有 NOT (IN category_list AND IN type_list)
的文档
我再次使用 Python sphinxapi.py
。
这可以做到吗?
非常相似,只是使用IN()
函数
.setSelect("*, IN(category,1,3,5,7,9)+IN(type,1,2) AS myfilter")
.setFilter("myfilter", [2], true)
不确定将列表转换为字符串的最佳 python 语法,但这应该不难。
这个问题是
但是,在这种情况下,假设我有一个具有以下整数属性的索引:
category
type
这样每个文档都有一个 category
ID 和一个 type
ID。
假设我还有一个 category
ID 列表:
category_list = [1,3,5,7,9]
以及 type
个 ID 的列表:
type_list = [1,2]
我想过滤所有 NOT (IN category_list AND IN type_list)
我再次使用 Python sphinxapi.py
。
这可以做到吗?
非常相似,只是使用IN()
函数
.setSelect("*, IN(category,1,3,5,7,9)+IN(type,1,2) AS myfilter")
.setFilter("myfilter", [2], true)
不确定将列表转换为字符串的最佳 python 语法,但这应该不难。