Cloudant - 自由文本搜索的搜索索引 - 将值收集到字符串 VS 数组中

Cloudant - search index for free text search - collecting values into String VS Array

考虑像

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

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

为 "free-text" 建立搜索索引 - 我可以这样做:

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

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

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

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

假设您使用的是标准分析器,索引 "Jack Smith" 和 ["Jack"、"Smith"] 之间没有任何性能差异。无论如何,标准分析器会将 "Jack Smith" 分解为 "Jack"、"Smith"。

关于搜索质量,要看是否要搜索整个词组:"Jack Smith"。这两个选项都允许您搜索 "Jack" 或 "Smith" 单个查询,但只有最后一个选项允许您搜索短语 "Jack Smith".