|
|
1
1
这就是我用thinkingsphinx搜索布尔字段所做的。通过
然后,在控制器中,您将执行以下操作:
|
|
|
2
1
如果params[:search]包含文本“stand”,则可以从中进行搜索。表中不需要额外的列,这只是不需要的开销。
|
|
|
3
0
我现在想出一个解决办法。 我试过我在问题中提到的“黑客”——解析“站”这个词,然后明确地搜索它(保罗戴维斯的答案的变体),但效果并不太好。 我没有在我的问题中解释这一点(在我问的时候没有意识到完整的含义),但我需要它也匹配,如果用户在他们的配方描述中也使用了单词“stand”。 因此,我试图让斯芬克斯在“如果展台开发是真的或笔记包含‘展台’”这一行添加一个条件,但我似乎找不到合适的语法。 它还必须处理其他任何搜索文本。 最后,我在我的配方表中添加了一个额外的列,叫做“搜索标签”,如果用户在添加配方时选择了“stand-developed”,我会在其中添加单词“stand”。 然后我让斯芬克斯索引这个字段以及我的其他字段,所有的工作都非常完美。 |