Hi, 
I'm trying to index and search pdf document...I'm using elasticsearch 1.0.0 
and elasticsearch-mapper-attachments 2.0.0.RC1 ... I get always these 
exceptions org.elasticsearch.client.transport.NoNodeAvailableException: No 
node available[org.elasticsearch.client.transport] [Spidercide] failed to 
get node info for [#transport#-1][inet[localhost/127.0.0.1:9300] 

this is my code : 

import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; 
import org.elasticsearch.action.index.IndexResponse; 
import org.elasticsearch.action.search.SearchResponse; 
import org.elasticsearch.client.Client; 
import org.elasticsearch.client.action.search.SearchRequestBuilder; 
import org.elasticsearch.client.transport.TransportClient; 
import org.elasticsearch.common.logging.ESLogger; 
import org.elasticsearch.common.logging.Loggers; 
import org.elasticsearch.common.settings.ImmutableSettings; 
import org.elasticsearch.common.transport.InetSocketTransportAddress; 
import org.elasticsearch.common.xcontent.XContentBuilder; 
import org.elasticsearch.index.query.QueryBuilder; 
import org.elasticsearch.index.query.QueryBuilders; 
import org.elasticsearch.node.Node; 
import org.testng.annotations.BeforeClass; 
import org.testng.annotations.Test; 

import static 
org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; 
import static org.hamcrest.MatcherAssert.assertThat; 
import static org.hamcrest.Matchers.*; 

public class AttachmentTest { 

  private Node node; 
  Client client; 
  ESLogger log = Loggers.getLogger(AttachmentTest.class); 

  @BeforeClass 
  public void setupNode() { 
    
    client = new TransportClient().addTransportAddress(new 
InetSocketTransportAddress("localhost", 9300)); 
    
  } 

  @Test 
  public void mapperAttachmentTest() throws Exception { 
    String idxName = "test"; 
    String idxType = "attachment"; 
    XContentBuilder map = jsonBuilder().startObject() 
            .startObject(idxType) 
              .startObject("properties") 
                .startObject("file") 
                  .field("type", "attachment") 
                  .startObject("fields") 
                    .startObject("title") 
                      .field("store", "yes") 
                    .endObject() 
                    .startObject("file") 
                      .field("term_vector","with_positions_offsets") 
                      .field("store","yes") 
                    .endObject() 
                  .endObject() 
                .endObject() 
              .endObject() 
         .endObject(); 
    try { 
      
client.admin().indices().prepareDelete(idxName).execute().actionGet(); 
    } catch (Exception ex) {} 

    log.info("create index and mapping"); 
    CreateIndexResponse resp = 
client.admin().indices().prepareCreate(idxName).setSettings( 
            ImmutableSettings.settingsBuilder() 
            .put("number_of_shards", 1) 
            .put("index.numberOfReplicas", 1)) 
            .addMapping("attachment", map).execute().actionGet(); 


    String pdfPath = 
ClassLoader.getSystemResource("isl99201.pdf").getPath(); 

    String data64 = 
org.elasticsearch.common.Base64.encodeFromFile(pdfPath); 


    log.info("Indexing"); 
    XContentBuilder source = jsonBuilder().startObject() 
            .field("file", data64).endObject(); 

    IndexResponse idxResp = 
client.prepareIndex().setIndex(idxName).setType(idxType).setId("80") 
            .setSource(source).setRefresh(true).execute().actionGet(); 



    String queryString = "amplifier"; 


      log.info("Searching by "+queryString); 
      QueryBuilder query = QueryBuilders.queryString(queryString); 

       SearchRequestBuilder searchBuilder = 
client.prepareSearch().setQuery(query) 
              .addField("title") 
              .addHighlightedField("file"); 

      SearchResponse search = searchBuilder.execute().actionGet(); 
      assertThat(search.hits().totalHits(), equalTo(1L)); 
      assertThat(search.hits().hits().length, equalTo(1)); 
      assertThat(search.hits().getAt(0).highlightFields().get("file"), 
notNullValue()); 
      
assertThat(search.hits().getAt(0).highlightFields().get("file").toString(), 
containsString("<em>Amplifier</em>")); 

    client.close(); 
  } 
} 

and this is what I get: 

unning net.hashcode.esattach.AttachmentTest 
Configuring TestNG with: 
org.apache.maven.surefire.testng.conf.TestNGMapConfigurator@589f2cff 
[2014-02-21 11:05:58,484][WARN ][org.elasticsearch.client.transport] 
[Spidercide] failed to get node info for 
[#transport#-1][inet[localhost/127.0.0.1:9300]] 
org.elasticsearch.transport.NodeDisconnectedException: 
[][inet[localhost/127.0.0.1:9300]][/cluster/nodes/info] disconnected 
[2014-02-21 11:05:58,635][INFO 
][org.elasticsearch.net.hashcode.esattach.AttachmentTest] create index and 
mapping 
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 2.111 sec 
<<< FAILURE! 
mapperAttachmentTest(net.hashcode.esattach.AttachmentTest)  Time elapsed: 
0.123 sec  <<< FAILURE! 
org.elasticsearch.client.transport.NoNodeAvailableException: No node 
available 
        at 
org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:170)
 
        at 
org.elasticsearch.client.transport.support.InternalTransportIndicesAdminClient.create(InternalTransportIndicesAdminClient.java:252)
 
        at 
org.elasticsearch.client.action.admin.indices.create.CreateIndexRequestBuilder.doExecute(CreateIndexRequestBuilder.java:158)
 
        at 
org.elasticsearch.client.action.admin.indices.support.BaseIndicesRequestBuilder.execute(BaseIndicesRequestBuilder.java:52)
 
        at 
org.elasticsearch.client.action.admin.indices.support.BaseIndicesRequestBuilder.execute(BaseIndicesRequestBuilder.java:47)
 
        at 
net.hashcode.esattach.AttachmentTest.mapperAttachmentTest(AttachmentTest.java:64)
 


Results : 

Failed tests:   mapperAttachmentTest(net.hashcode.esattach.AttachmentTest): 
No node available 


please could you help me 

-- 
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/b18cf109-5e69-4883-9703-696a7e85518f%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to