# Multiple concatenation in ruby file filter

**URL:** <https://discuss.elastic.co/t/multiple-concatenation-in-ruby-file-filter/282101>\
**Category:** Logstash\
**Created:** [August 20, 2021, 4:40pm UTC](https://discuss.elastic.co/t/multiple-concatenation-in-ruby-file-filter/282101 "2021-08-20T16:40:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![LuigiDelavega](https://avatars.discourse-cdn.com/v4/letter/l/9de0a6/32.png) [@LuigiDelavega](https://discuss.elastic.co/u/LuigiDelavega)\
**Post date:** [August 20, 2021, 4:40pm UTC](https://discuss.elastic.co/t/multiple-concatenation-in-ruby-file-filter/282101/1 "2021-08-20T16:40:16Z")

</div>

Hello,

I would like to concatenate 5 fields which can exist or not and i would like to do it in my ruby file filter because we already have others working filters in it.

my fields looks like this, they can have a value or no value at all

```auto
iis.uri.1.keyword: one
iis.uri.2.keyword: two
iis.uri.3.keyword: three
iis.uri.4.keyword: 
iis.uri.5.keyword: 

```

and my ruby script looks like this :

```auto
def filter(event)
	if event.get("[fields][log_type]").include?("iis")
		uri = ""
		if not event.get("[iis][uri][1][keyword]").nil?
			uri = uri + event.get("[iis][uri][1]")
		end
		if not event.get("[iis][uri][2][keyword]").nil?
			uri = uri + "/" + event.get("[iis][uri][2]")
		end
		if not event.get("[iis][uri][3][keyword]").nil?
			uri = uri + "/" + event.get("[iis][uri][3]")
		end
		if not event.get("[iis][uri][4][keyword]").nil?
			uri = uri + "/" + event.get("[iis][uri][4]")
		end
		if not event.get("[iis][uri][4][keyword]").nil?
			uri = uri + "/" + event.get("[iis][uri][5]")
		end
		event.set("iis.uriFull", uri)
	else
# return [event]
	end
	return [event]
end

```

Even if my iis.uri.number have values, it only returns `iis.uriFull = ""`

I tested during 6 hours others schemes to filter, other condition methods, but no result at all, can anyone help me please ?

Have a great day,  
Luigi.

---

<div class="post-metadata">

**Author:** ![LuigiDelavega](https://avatars.discourse-cdn.com/v4/letter/l/9de0a6/32.png) [@LuigiDelavega](https://discuss.elastic.co/u/LuigiDelavega)\
**Post date:** [August 23, 2021, 3:13pm UTC](https://discuss.elastic.co/t/multiple-concatenation-in-ruby-file-filter/282101/2 "2021-08-23T15:13:29Z")

</div>

Hello again,

I realized some things :  
If i don't verify that my field is nil, my filter doesnt work, but my verification of `!myfield.nil?` or `not myfield .nil?` doesn't work neither.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 20, 2021, 3:14pm UTC](https://discuss.elastic.co/t/multiple-concatenation-in-ruby-file-filter/282101/3 "2021-09-20T15:14:01Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
