I have couch-lucene working when I index a top level element in my documents.
However when I try and reference a sub element as I would with a couchdb view
no results are returned. A extract from my document is:
{
"_id": "00023157-c1f8-4e39-ab9a-d56726739b8d",
"_rev": "1-45cd4f7506ccede344d682904556be4b",
"type": "maven-build-profile",
"schema": "TODO-idOfSchemaDocument",
"headers": {
"started": 1328795714442,
"core": {
"user": "buildadm",
"ip": "127.0.0.1",
"executionId": "a607c818-c568-40a9-adbc-0844e6bf9a02"
}
}
}
The following works
{
"_id": "_design/lucene",
"_rev": "19-1c7be47e52f8a65e9bb387e8c3251dd4",
"language": "javascript",
"fulltext": {
"by_type": {
"index": "function(doc) { var res = new Document(); res.add( doc.
type); return res; }"
}
}
}
curl
http://127.0.0.1:5999/_fti/local/build-profiles-raw-mk/_design/lucene/by_type?q=
maven-build-profile
The following does not:
{
"_id": "_design/lucene",
"_rev": "19-1c7be47e52f8a65e9bb387e8c3251dd4",
"language": "javascript",
"fulltext": {
"by_user": {
"index": "function(doc) { var res = new Document(); res.add(
doc.headers.core.user ); return res; }"
}
}
}
curl
http://127.0.0.1:5999/_fti/local/build-profiles-raw-mk/_design/lucene/by_user?q=buildadm
Log file wise it provides:
2012-05-16 21:33:01,980 WARN [build-profiles-raw-mk] _design/buildstats caused
TypeError: Cannot read property "core" from undefined
2012-05-16 21:33:01,980 WARN [build-profiles-raw-mk] _design/buildstatsdetail
caused TypeError: Cannot read property "core" from undefined
2012-05-16 21:33:02,062 WARN [build-profiles-raw-mk] _design/profiling caused
TypeError: Cannot read property "core" from undefined
2012-05-16 21:33:02,063 WARN [build-profiles-raw-mk] _design/lucene caused
TypeError: Cannot read property "core" from undefined
2012-05-16 21:33:17,039 INFO [build-profiles-raw-mk]
View[name=_design/lucene/by_user, digest=482tp0k1h6vhiw1cs5humyido] now at
update_seq 106
I'm sure there is an easy answer to this, but to a javascript/couchdb newbie
i'm confused as to why I can use doc.headers.core.user can be used in my couch
map. But not in the above couch-lucene index.
Thanks
Mike