刚试过GAE(1.7.7 Java)全文搜索,发现搜索字符串是否为work
,令人惊讶的是 匹配working
,{{1} },或worked
,hardworking
,我想知道如果我错过API中的内容,我会阅读教程,但除了复数匹配之外没有找到任何关于此的文档。
感谢。
P.S。我尝试了搜索服务的单元测试,而不是在工作环境中。
答案 0 :(得分:0)
隐藏在文档中(但遗憾的是不在运算符表中),有一个'〜'运算符
要搜索精确查询的多个变体,请使用〜运算符:
〜“car”#搜索“car”和“cars”
不确定能让你走多远。不幸的是关于它。
请参阅https://developers.google.com/appengine/docs/java/search/overview#Queries_on_Fields
关于这方面的文档很少,但只是尝试了它,它只适用于复数。
一种方法是对文档中的单词进行自己的处理,(尽管你不会将其作为文本返回;-)然后你可以在搜索词上执行词干并且能够匹配工作,工作等。
答案 1 :(得分:0)
这是一个迟到的答案,但是为了跟进上一个答案,基本API函数无法实现您想要做的事情。搜索API适用于全文搜索原则。为了解决这个问题,您可以将您的可搜索数据预先标记为索引,并将其存储在包含相关文档的字段中。