Your mapping does not seem correct. Can you post the output of the get
mapping API instead? It appears that the region field might be a geo type
instead. Analyzed fields should have position data enabled by default.

-- 
Ivan


On Tue, Jul 22, 2014 at 8:46 PM, xu piao <[email protected]> wrote:

> i have an exception when i use 'query_string' to search with 'multi_field'
> .
>
> my docs is indexed by json
> ,like:{"region":"北京北京市海淀区","name":"群下子群|成员测试-82282","intra":"taipeng","geo":{"lon":116.3092,"lat":39.98364},"address":"泰鹏大厦"}
>
> the field not all my docs have
>
> my search request :
> {
>   "bool" : {
>     "must" : {
>       "query_string" : {
>         "query" : "北京西路",
>         "fields" : [ "region"]
>       }
>     },
>     "minimum_should_match" : "1"
>   }
> }
>
> my mappings :
>
> matrix: {
>
>    - mappings: {
>       - group: {
>          - properties: {
>          - region: {
>             - type: string
>             - store: true
>             - analyzer: ik
>          }
>       - }
>       - }
>
> }
>
>
> }
>
> exception :org.elasticsearch.action.search.SearchPhaseExecutionException:
> Failed to execute phase [query], all shards failed; shardFailures
> {[C_c2mxBJS7KVuP2tcb1aIw][matrix][0]:
> RemoteTransportException[[Auric][inet[/10.0.8.102:19300]][search/phase/query]];
> nested: QueryPhaseExecutionException[[matrix][0]:
> query[filtered((region:"北京
> 西路"))->cache(_type:group)],from[0],size[20],sort[<custom:"geo":
> org.elasticsearch.index.fielddata.fieldcomparator.GeoDistanceComparatorSource@6f26b9e7>]:
> Query Failed [Failed to execute main query]]; nested:
> IllegalStateException[field "region" was indexed without position data;
> cannot run PhraseQuery (term=北京)]; }{[jwf1krq1QY27yqNt1_2vVQ][matrix][4]:
> QueryPhaseExecutionException[[matrix][4]: query[filtered((region:"北京
> 西路"))->cache(_type:group)],from[0],size[20],sort[<custom:"geo":
> org.elasticsearch.index.fielddata.fieldcomparator.GeoDistanceComparatorSource@43ececca>]:
> Query Failed [Failed to execute main query]]; nested:
> IllegalStateException[field "region" was indexed without position data;
> cannot run PhraseQuery (term=北京)]; }{[jwf1krq1QY27yqNt1_2vVQ][matrix][3]:
> QueryPhaseExecutionException[[matrix][3]: query[filtered((region:"北京
> 西路"))->cache(_type:group)],from[0],size[20],sort[<custom:"geo":
> org.elasticsearch.index.fielddata.fieldcomparator.GeoDistanceComparatorSource@70e10093>]:
> Query Failed [Failed to execute main query]]; nested:
> IllegalStateException[field "region" was indexed without position data;
> cannot run PhraseQuery (term=北京)]; }{[C_c2mxBJS7KVuP2tcb1aIw][matrix][2]:
> RemoteTransportException[[Auric][inet[/10.0.8.102:19300]][search/phase/query]];
> nested: QueryPhaseExecutionException[[matrix][2]:
> query[filtered((region:"北京
> 西路"))->cache(_type:group)],from[0],size[20],sort[<custom:"geo":
> org.elasticsearch.index.fielddata.fieldcomparator.GeoDistanceComparatorSource@577725b3>]:
> Query Failed [Failed to execute main query]]; nested:
> IllegalStateException[field "region" was indexed without position data;
> cannot run PhraseQuery (term=北京)]; }{[jwf1krq1QY27yqNt1_2vVQ][matrix][1]:
> QueryPhaseExecutionException[[matrix][1]: query[filtered((region:"北京
> 西路"))->cache(_type:group)],from[0],size[20],sort[<custom:"geo":
> org.elasticsearch.index.fielddata.fieldcomparator.GeoDistanceComparatorSource@5fd068b>]:
> Query Failed [Failed to execute main query]]; nested:
> IllegalStateException[field "region" was indexed without position data;
> cannot run PhraseQuery (term=北京)]; }
>         at
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.onFirstPhaseResult(TransportSearchTypeAction.java:276)
>         at
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$3.onFailure(TransportSearchTypeAction.java:224)
>         at
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:205)
>         at
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>         at
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>         at
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$4.run(TransportSearchTypeAction.java:296)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
>
>
>    -
>
>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/1c21f47a-3a42-4ad1-90b6-94ffbd6b269a%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/1c21f47a-3a42-4ad1-90b6-94ffbd6b269a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQCitLgNkOQX68WZYdND7DF-%2Bj46VvpcUnznyR0-WvAUxg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to