Cloudant - 自由文本搜索的搜索索引 - 将值收集到String VS Array中

时间:2016-09-28 08:40:47

标签: lucene couchdb cloudant bigcouch

考虑像

这样的文件
{ firstName: "Jack", lastName: "Smith"}

{firstName: "Simon", lastName"Jackson"}

为"自由文本"建立搜索索引 - 我可以做任何一件事:

for(var key in doc)
  index("default", doc[key], {"store":true});
//e.g. resulting field = default:["Jack", "Smith"]

OR

var indexString = "";
for(var key in doc)
  indexString += " " + doc[key];

index("default", indexString, {"store":true}); 
//e.g. resulting field = default:"Jack Smith"

是否存在性能/搜索质量差异?

1 个答案:

答案 0 :(得分:0)

假设您使用的是标准分析器,则索引“Jack Smith”和[“Jack”,“Smith”]之间没有任何性能差异。无论如何,标准分析仪将“杰克史密斯”分解为“杰克”,“史密斯”。

关于搜索质量,取决于您是否要搜索整个短语:“Jack Smith”。这两个选项都允许您搜索“Jack”或“Smith”个别查询,但只有最后一个选项才允许您搜索短语“Jack Smith”。