2012-07-03 39 views
12

Gần đây tôi đã nâng cấp trường hợp solr của mình từ 1,4 lên 3,6. Tuy nhiên, bây giờ tôi dường như nhận được thông báo nghiêm trọng "văn bản trường không xác định" trong nhật ký của tôi bất cứ khi nào tôi cập nhật chỉ mục của mình.Solr "Văn bản trường chưa xác định"

Tôi có các trường văn bản trong lược đồ của tôi (có giá trị như phiên bản 1.4), nhưng chưa bao giờ phải được khai báo là loại trường. Điều này đã thay đổi trong 3,6?

schema của tôi là ở đây >>http://pastebin.com/KrCVab0U

SEVERE: org.apache.solr.common.SolrException: undefined field text 
     at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1330) 
     at org.apache.solr.schema.IndexSchema$SolrQueryAnalyzer.getAnalyzer(IndexSchema.java:408) 
     at org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.reusableTokenStream(IndexSchema.java:383) 
     at org.apache.lucene.queryParser.QueryParser.getFieldQuery(QueryParser.java:574) 
     at org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:206) 
     at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1429) 
     at org.apache.lucene.queryParser.QueryParser.Clause(QueryParser.java:1317) 
     at org.apache.lucene.queryParser.QueryParser.Query(QueryParser.java:1245) 
     at org.apache.lucene.queryParser.QueryParser.TopLevelQuery(QueryParser.java:1234) 
     at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:206) 
     at org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:79) 
     at org.apache.solr.search.QParser.getQuery(QParser.java:143) 
     at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:105) 
     at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:165) 
     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) 
     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376) 
     at org.apache.solr.handler.PingRequestHandler.handleRequestBody(PingRequestHandler.java:67) 
     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) 
     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376) 
     at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365) 
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
     at java.lang.Thread.run(Thread.java:679) 
+0

Thực ra, có vẻ như kiểu trường văn bản được khai báo trong lược đồ của tôi. Dòng 220 >> http://pastebin.com/KrCVab0U –

+0

Vui lòng xem liệu điều này có giúp http://stackoverflow.com/questions/10130163/solr-query-http-error-404-undefined-field-text – krishnakumarp

+0

Theo như Tôi thấy bạn không có văn bản trường được khai báo, chỉ có fieldType. Lỗi "loại trường không xác định" có vẻ đúng nếu bạn đang cố gắng thêm nội dung vào trường được gọi là văn bản mà bạn không có trong lược đồ của mình. Tui bỏ lỡ điều gì vậy? – javanna

Trả lời

17

Nó không phải là về lĩnh vực loại "văn bản". Đó là về trường có tên là "văn bản".

Bạn đã thay đổi trường mặc định trong cấu hình thành "search_text". Vui lòng thử đổi tên tất cả các tham chiếu thành "search_text" thành "văn bản". Nếu điều này khắc phục được sự cố, thì bạn biết một nơi nào đó trong cấu hình bạn đang đề cập đến trường "văn bản", có thể trong solrconfig.xml như được đề xuất trong Solr Query - HTTP error 404 undefined field text

Hy vọng điều đó sẽ hữu ích.

8

tôi có điều này trong tệp solrconfig.xml của mình.

<requestHandler name="/admin/ping" class="solr.PingRequestHandler"> 
<lst name="invariants"> 
    <str name="q">solrpingquery</str> 
</lst> 
<lst name="defaults">  
    <str name="echoParams">all</str> 
    </lst> 
</requestHandler> 

Nếu bạn chưa thêm này trong schema.xml sau đó thêm nó

<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/> 

này sẽ giải quyết vấn đề của bạn.

Cảm ơn

+1

trong Solr6, một sự khác biệt nhỏ: một cần thêm trường "_ text _" vào schema.xml (thay vì "văn bản"). Trường "_ text _" được sử dụng trong solrconfig mặc định –

2

Điều này cũng đã xảy ra quá hôm nay. Nếu bạn thực hiện một truy vấn khi lỗi xảy ra thì bạn cần phải tăng gấp đôi trích dẫn dữ liệu trong truy vấn như thế này:

filepath: "Dữ liệu được truy vấn"

+0

điều này sẽ không giải quyết lỗi "văn bản" trường không xác định, bạn có gặp lỗi giống như @ lee-davis không? –

2

Tôi đã nhận lỗi tương tự khi tôi làm vệ sinh phần fq truy vấn. Sau khi vệ sinh, các Solr nhận

...&fq=type\:Product&... 

Mặc dù tôi đã lĩnh vực tên type, sai đã nói rằng “văn bản lĩnh vực Không xác định”.

Khi tôi loại bỏ các thanh trùng, truy vấn là ok rồi:

...&fq=type:Product&... 

Nguyên nhân của các thông báo lỗi khó hiểu là trong solrconfig.xml:

<requestHandler name="/select" class="solr.SearchHandler"> 
    <lst name="defaults"> 
    <str name="echoParams">explicit</str> 
    <int name="rows">10</int> 
    <str name="df">text</str> 
    </lst> 
</requestHandler> 
2

trong giao diện Solr quản trị, bạn có thể nhìn thấy hiện đang làm việc chương trình sau đó bạn có thể chắc chắn nếu bạn đang trên con đường bên phải. dưới đây pictrues ilistruates

4.10.2 và cao hơn phiên bản (giả sử)

solr.4.10.2

thấp hơn các phiên bản 4.10.2 hơn. bạn nên sử dụng bên trái Sơ đồ menu.

solr.4.10.2

Các vấn đề liên quan