private String constructAnalyzedPropertyName(String pname) { if (definition.getVersion().isAtLeast(IndexFormatVersion.V2)){ return FieldNames.createAnalyzedFieldName(pname); } return pname; }
private String constructAnalyzedPropertyName(String pname) { if (definition.getVersion().isAtLeast(IndexFormatVersion.V2)){ return FieldNames.createAnalyzedFieldName(pname); } return pname; }
static String getLuceneFieldName(@Nullable String p, PlanResult pr) { if (p == null) { return FieldNames.FULLTEXT; } if (isNodePath(p)) { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } else { //Get rid of /* as aggregated fulltext field name is the //node relative path p = FieldNames.createFulltextFieldName(PathUtils.getParentPath(p)); } } else { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } p = FieldNames.createAnalyzedFieldName(p); } if ("*".equals(p)) { p = FieldNames.FULLTEXT; } return p; }
static String getLuceneFieldName(@Nullable String p, PlanResult pr) { if (p == null) { return FieldNames.FULLTEXT; } if (isNodePath(p)) { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } else { //Get rid of /* as aggregated fulltext field name is the //node relative path p = FieldNames.createFulltextFieldName(PathUtils.getParentPath(p)); } } else { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } p = FieldNames.createAnalyzedFieldName(p); } if ("*".equals(p)) { p = FieldNames.FULLTEXT; } return p; }
BooleanQuery in = new BooleanQuery(); for (PropertyDefinition pd : indexingRule.getNodeScopeAnalyzedProps()) { Query q = tokenToQuery(text, FieldNames.createAnalyzedFieldName(pd.name), analyzer); q.setBoost(pd.boost); in.add(q, BooleanClause.Occur.SHOULD);
BooleanQuery in = new BooleanQuery(); for (PropertyDefinition pd : indexingRule.getNodeScopeAnalyzedProps()) { Query q = tokenToQuery(text, FieldNames.createAnalyzedFieldName(pd.name), analyzer); q.setBoost(pd.boost); in.add(q, BooleanClause.Occur.SHOULD);
@Test public void testLuceneWithFullText() throws Exception { NodeBuilder index = builder.child(INDEX_DEFINITIONS_NAME); NodeBuilder idxnb = newLuceneIndexDefinitionV2(index, "lucene", of(TYPENAME_STRING)); LuceneIndexDefinition defn = new LuceneIndexDefinition(root, idxnb.getNodeState(), "/foo"); NodeState before = builder.getNodeState(); builder.child("test").setProperty("foo", "fox is jumping"); builder.child("test").setProperty("price", 100); NodeState after = builder.getNodeState(); NodeState indexed = HOOK.processCommit(before, after, CommitInfo.EMPTY); tracker.update(indexed); //system fields starts with ':' so need to be escaped assertEquals("/test", query(escape(FieldNames.createAnalyzedFieldName("foo"))+":fox", defn)); assertNull("Non string properties not indexed by default", getPath(NumericRangeQuery.newLongRange("price", 100L, 100L, true, true))); }