Solr - How do I construct a query that requires a NOT NULL Location field

后端 未结 2 1921

I have a Solr index with a set of coordinates stored as a Location type; I would like to query for documents where this field has a non-null value.

What is

相关标签:
2条回答
  • 2021-02-11 17:12

    The canonical way is this:

    fieldName:[* TO *]
    

    Using a '' on the left side as Paige Cook suggested will probably work too but I don't trust it as much as I do the above. And since this is to a Location field, you will probably have to do this against one of the two underlying actual fields versus this logical composite field. They start with fieldName and end with some sort of numeric suffix; look in the Schema Browser to see what the actual name is.

    An important thing to be aware of here is that a query like this is expensive for Solr to do as it much do a full index scan on this field. If you have many distinct location field values (thousands on up?), then this is a big deal. If you do this in a filter query, then it will be cached and it's perhaps moot. If you want this query to run fast, then at index time you should index a boolean field to indicate if there is a value in this field or not.

    0 讨论(0)
  • 2021-02-11 17:21

    You can add this to your query fieldname:['' TO *]. This will be the equivalent of a NOT NULL check.

    I got this from the post - Solr - Field Not Null Searches

    0 讨论(0)
提交回复
热议问题