You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2017/04/05 00:53:41 UTC
[jira] [Commented] (SOLR-10425) PointFields ignore indexed="false"
[ https://issues.apache.org/jira/browse/SOLR-10425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15956133#comment-15956133 ]
Hoss Man commented on SOLR-10425:
---------------------------------
At first glance, I thought maybe this may have been an intentional design choice that tomas made with the mindset of:
* users should not declare a "Point" field unless they definitely wanted a BKD Point structure on disk
* the {{"indexed"}} should only apply to creating the {{Terms}} based inverted index files, not the BKD points files
But this doesn't jive with the existing test configs (such as {{schema-point.xml}}) where many point fields explicitly use {{indexed="true"}}
It's also really important to ensure we have _some_ way to support users who want an "integer" type field that is {{stored="true"}} but don't care about it being searchable/sortable w/o wasting disk space -- even once/if we deprecate/remove {{TrieIntField}}}
----
I believe the fix here is a pretty straight forward: {{IntPointField.createField}} should ignore {{isFieldUsed()}} and just check {{field.indexed()}} -- allthough some other tweaks/null-checks may be needed in {{PointField.createFields}} & obviously we should get a lot more tests of these edge cases to smoke those out.
i'm hoping [~tomasflobbe] will chime in with a sanity check that i'm not missing some major reason why things work this way before i go too deep down hte rabit hole of writting new tests.
> PointFields ignore indexed="false"
> ----------------------------------
>
> Key: SOLR-10425
> URL: https://issues.apache.org/jira/browse/SOLR-10425
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Hoss Man
>
> (NOTE: description below focuses on {{IntPointField}}, but problem seems to affect all {{PointField}} subclasses)
> There seems to be a disconnect between {{PointField.createFields}} -> {{IntPointField.createField}} -> {{PointField.isFieldUsed}} that results in an {{org.apache.lucene.document.IntPoint}} being created for each field value, even if field is {{indexed="false"}}
> Steps to reproduce...
> {noformat}
> bin/solr -e techproducts
> ...
> curl -X POST -H 'Content-type:application/json' --data-binary '{
> "add-field":{
> "name":"hoss_points_check",
> "type":"pint",
> "stored":true,
> "docValues":false,
> "indexed":false}
> }' http://localhost:8983/solr/techproducts/schema
> ...
> curl -X POST -H 'Content-type:application/json' --data-binary '[{"id":"HOSS","hoss_points_check":42}]' 'http://localhost:8983/solr/techproducts/update/json?commit=true'
> ...
> curl 'http://localhost:8983/solr/techproducts/query?q=id:HOSS'
> {
> "responseHeader":{
> "status":0,
> "QTime":3,
> "params":{
> "q":"id:HOSS"}},
> "response":{"numFound":1,"start":0,"docs":[
> {
> "id":"HOSS",
> "hoss_points_check":42,
> "_version_":1563795876337418240}]
> }}
> curl 'http://localhost:8983/solr/techproducts/query?q=hoss_points_check:42'
> {
> "responseHeader":{
> "status":0,
> "QTime":2,
> "params":{
> "q":"hoss_points_check:42"}},
> "response":{"numFound":1,"start":0,"docs":[
> {
> "id":"HOSS",
> "hoss_points_check":42,
> "_version_":1563795876337418240}]
> }}
> {noformat}
> Note that I can search on the doc using the "hoss_points_check" field even though it is {{docValues="false" indexed="false"}}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org