sphinx扩展语法有不同的搜索选项。
是否可以混合它们并构建类似的查询:
"I love to (eat|sleep|dream)"
我知道可以简化它并将OR条件拆分为不同的精确短语,例如:
"I love to eat" | "I love to sleep" | "I love to dream"
但是我计划在内部使用很多带有很多选项的OR组,并且扩展这个查询最终会有很大的选择。
那么可以在Sphinx中使用完全匹配语法中的OR语法吗?
答案 0 :(得分:1)
不,不可能使用'或者'在短语运算符中("
s围绕强制相邻单词的单词) - 您呼叫的正确名称'完全匹配'。
唉,没有另一个合并的严格命令'运营商和'附近' (即没有'就在之前'运营商)。所以你被迫使用两者,所以像
("I love to" << (eat|sleep|dream)) NEAR/3 ("I love to" NEAR/1 (eat|sleep|dream))
哪个不简单,并且会争辩更复杂和复杂!中间的NEAR / 3需要确保匹配文档中的相同发送(否则存在误报的边缘情况)。
如果您有很多这样的问题,那么这个概念就是一个很好的想法。列表,而不是在查询中实现它们,而是使用字形。缺点是你需要提前知道它们(即汇编到索引中)并且选择退出&#39;更复杂。